Skip to content
Snippets Groups Projects
Commit 0ecb599c authored by Sasha Mazurov's avatar Sasha Mazurov Committed by Graeme Stewart
Browse files

Add ZDC trigger towers decoder

- requires ZdcByteStream-00-01-01 and ZdcEvent-00-01-09
- the store gate key is ZdcTriggerTowers (TrigT1CaloByteStream-00-09-46)

  * Add ZDC trigger towers decoder
    - requires ZdcByteStream-00-01-01 and ZdcEvent-00-01-09
    - the store gate key is ZdcTriggerTowers
  * Tagged as TrigT1CaloByteStream-00-09-46
parent ec4a0ef7
No related branches found
No related tags found
No related merge requests found
......@@ -12,7 +12,7 @@ apply_pattern cmake_add_command command="find_package(tdaq-common COMPONENTS efo
# use this line to exclude test algorithms
library TrigT1CaloByteStream *.cxx xaod/*.cxx components/*.cxx
# use this line to include test algorithms
#library TrigT1CaloByteStream *.cxx ../test/*.cxx
#library TrigT1CaloByteStream ../test/*.cxx
apply_pattern component_library
apply_pattern declare_joboptions files="*.py"
......@@ -30,10 +30,10 @@ use ByteStreamData ByteStreamData-* Event
use StoreGate StoreGate-* Control
use SGTools SGTools-* Control
use EventInfo EventInfo-* Event
use TrigT1CaloEvent TrigT1CaloEvent-* Trigger/TrigT1
use TrigT1CaloUtils TrigT1CaloUtils-* Trigger/TrigT1
use TrigT1CaloMappingToolInterfaces TrigT1CaloMappingToolInterfaces-* Trigger/TrigT1
use ZdcByteStream ZdcByteStream-* ForwardDetectors/ZDC/ZdcCnv
use TrigT1Interfaces TrigT1Interfaces-* Trigger/TrigT1
......
......@@ -18,6 +18,10 @@ from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__PpmByteStreamR
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__RodHeaderByteStreamTool
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__L1CaloErrorByteStreamTool
# Needed for Zdc converters
from AtlasGeoModel import SetGeometryVersion
from AtlasGeoModel import GeoModelInit
ToolSvc = Service("ToolSvc")
ToolSvc += LVL1BS__CpByteStreamV1Tool("CpByteStreamV1Tool")
ToolSvc += LVL1BS__CpmRoiByteStreamV1Tool("CpmRoiByteStreamV1Tool")
......@@ -58,6 +62,8 @@ ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerContainer/xAODTri
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/xAODTriggerTowersMuonAux."]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerContainer/xAODTriggerTowersSpare"]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/xAODTriggerTowersSpareAux."]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerContainer/ZdcTriggerTowers"]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/ZdcTriggerTowersAux."]
ByteStreamAddressProviderSvc.TypeNames += [ "DataVector<LVL1::RODHeader>/RODHeaders" ]
......
......@@ -13,11 +13,14 @@ from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__CpByteStreamV2
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__CpmRoiByteStreamV2Tool
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__JepByteStreamV2Tool
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__JepRoiByteStreamV2Tool
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__PpmByteStreamReadV1V2Tool
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__RodHeaderByteStreamTool
from TrigT1CaloByteStream.TrigT1CaloByteStreamConf import LVL1BS__L1CaloErrorByteStreamTool
# Needed for Zdc converters
from AtlasGeoModel import SetGeometryVersion
from AtlasGeoModel import GeoModelInit
ToolSvc = Service("ToolSvc")
ToolSvc += LVL1BS__CpByteStreamV2Tool("CpByteStreamV2Tool")
ToolSvc += LVL1BS__CpmRoiByteStreamV2Tool("CpmRoiByteStreamV2Tool")
......@@ -41,6 +44,9 @@ ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/xAOD
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerContainer/xAODTriggerTowersSpare"]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/xAODTriggerTowersSpareAux."]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerContainer/ZdcTriggerTowers"]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/ZdcTriggerTowersAux."]
# Without prefix
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerContainer/TriggerTowers"]
ByteStreamAddressProviderSvc.TypeNames += [ "xAOD::TriggerTowerAuxContainer/TriggerTowersAux."]
......
......@@ -14,8 +14,8 @@
namespace LVL1BS {
std::string ToString(const xAOD::TriggerTower& tt);
std::string ToString(const xAOD::TriggerTowerContainer& container);
std::string ToString(const xAOD::CPMTower& tt);
std::string ToString(const xAOD::CPMTowerContainer& container);
std::string ToString(const xAOD::CPMTower& tt);
std::string ToString(const xAOD::CPMTowerContainer& container);
}
......
......@@ -29,6 +29,8 @@
#include "xAODTrigL1Calo/TriggerTowerContainer.h"
#include "xAODTrigL1Calo/TriggerTowerAuxContainer.h"
#include "ZdcByteStream/ZdcByteStreamReadV1V2Tool.h"
#include "PpmByteStreamAuxCnv.h"
#include "../ToString.h"
#include "PpmByteStreamReadV1V2Tool.h"
......@@ -38,7 +40,8 @@ PpmByteStreamAuxCnv::PpmByteStreamAuxCnv(ISvcLocator* svcloc) :
Converter(ByteStream_StorageType, classID(), svcloc),
AthMessaging(svcloc != 0 ? msgSvc() : 0, "PpmByteStreamAuxCnv"),
m_name("PpmByteStreamAuxCnv"),
m_readTool("LVL1BS::PpmByteStreamReadV1V2Tool/PpmByteStreamReadV1V2Tool") {
m_readTool("LVL1BS::PpmByteStreamReadV1V2Tool/PpmByteStreamReadV1V2Tool"),
m_zdcTool("ZdcByteStreamReadV1V2Tool/ZdcByteStreamReadV1V2Tool") {
}
......@@ -76,12 +79,22 @@ StatusCode PpmByteStreamAuxCnv::createObj(IOpaqueAddress* pAddr,
xAOD::TriggerTowerContainer ttCollection;
ttCollection.setStore(aux);
// -------------------------------------------------------------------------
StatusCode sc = m_readTool->convert(nm, &ttCollection);
if (sc.isFailure()) {
ATH_MSG_ERROR("Failed to create Objects");
delete aux;
return sc;
StatusCode sc;
if (nm.substr(0,3) != "Zdc")
{
ATH_MSG_DEBUG("converting for L1Calo: " << nm );
sc = m_readTool->convert(nm, &ttCollection);
}
else
{
ATH_MSG_DEBUG("converting for ZDC: " << nm );
sc = m_zdcTool->convert(nm, &ttCollection);
}
if (sc.isFailure()) {
ATH_MSG_ERROR("Failed to create Objects" << nm);
delete aux;
return sc;
}
// -------------------------------------------------------------------------
ATH_MSG_VERBOSE(ToString(ttCollection));
ATH_MSG_DEBUG("Number of readed objects: " << aux->size());
......
......@@ -26,6 +26,8 @@ template <typename> class CnvFactory;
extern long ByteStream_StorageType;
#include "ZdcByteStream/ZdcByteStreamReadV1V2Tool.h"
namespace LVL1BS {
class PpmByteStreamReadV1V2Tool;
......@@ -66,6 +68,7 @@ private:
/// Do the main job - retrieve xAOD TriggerTowers from robs
ToolHandle<PpmByteStreamReadV1V2Tool> m_readTool;
ToolHandle<ZdcByteStreamReadV1V2Tool> m_zdcTool;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment