ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
xAOD
xAODTriggerAthenaPool
src
xAODTrigNavigationAuxInfoCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// $Id: xAODTrigNavigationAuxInfoCnv.cxx 710840 2015-11-26 08:45:42Z will $
6
7
// System include(s):
8
#include <stdexcept>
9
10
#ifndef XAOD_ANALYSIS
11
#include "
AthenaKernel/ITrigNavigationThinningSvc.h
"
//thinning only possible in full athena
12
#include "
AthenaKernel/getThinningCache.h
"
13
#include "
AthenaKernel/ThinningCache.h
"
14
#include "GaudiKernel/ThreadLocalContext.h"
15
#endif
16
17
// EDM include(s):
18
#include "
AthContainers/tools/copyAuxStoreThinned.h
"
19
20
21
22
// Local include(s):
23
#include "
xAODTrigNavigationAuxInfoCnv.h
"
24
#include "
xAODTrigger/TrigNavigation.h
"
25
26
xAODTrigNavigationAuxInfoCnv::
27
xAODTrigNavigationAuxInfoCnv
( ISvcLocator* svcLoc )
28
:
xAODTrigNavigationAuxInfoCnvBase
( svcLoc ) {
29
30
}
31
32
xAOD::TrigNavigationAuxInfo
*
33
xAODTrigNavigationAuxInfoCnv::
34
createPersistentWithKey
(
xAOD::TrigNavigationAuxInfo
*
trans
,
35
const
std::string&
/*key*/
) {
36
37
xAOD::TrigNavigationAuxInfo
* result =
new
xAOD::TrigNavigationAuxInfo
();
38
#ifndef XAOD_ANALYSIS
39
const
ITrigNavigationThinningSvc
* thinningSvc =
nullptr
;
40
// Try to find the thinning service.
41
if
(
const
SG::ThinningCache
* cache =
SG::getThinningCache
()) {
42
thinningSvc = cache->trigNavigationThinningSvc();
43
}
44
if
( thinningSvc ) {
45
ATH_MSG_DEBUG
(
"Doing TrigNavigation slimming"
);
46
xAOD::TrigNavigation
wrapper;
47
wrapper.setStore(result);
48
std::vector< unsigned int >
temp
;
49
const
EventContext& ctx = Gaudi::Hive::currentContext();
50
if
( thinningSvc->
doSlimming
(ctx,
temp
).isFailure() ) {
51
ATH_MSG_WARNING
(
"Failed to slim and store Trigger Navigation data in the output xAODTrigNavigation object"
);
52
}
53
wrapper.
setSerialized
(
temp
);
54
wrapper.setStore((
const
SG::IConstAuxStore*)
nullptr
);
55
}
else
{
56
ATH_MSG_DEBUG
(
"No TrigNavigation slimming"
);
57
*result = *
trans
;
58
}
59
#else
60
//no navigation thinning in analysis releases
61
*result = *
trans
;
62
#endif
63
64
return
result;
65
}
66
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x,...)
Definition
AthMsgStreamMacros.h:46
ITrigNavigationThinningSvc.h
Define interface for doing TrigNavigation thinning.
ThinningCache.h
TrigNavigation.h
ITrigNavigationThinningSvc
Define interface for doing TrigNavigation thinning.
Definition
ITrigNavigationThinningSvc.h:31
ITrigNavigationThinningSvc::doSlimming
virtual StatusCode doSlimming(const EventContext &ctx, std::vector< uint32_t > &slimmed_and_serialized) const =0
Return slimmed data for TrigNavigation.
SG::ThinningCache
Cache thinning decisions for converters.
Definition
ThinningCache.h:48
xAODTrigNavigationAuxInfoCnv::xAODTrigNavigationAuxInfoCnv
xAODTrigNavigationAuxInfoCnv(ISvcLocator *svcLoc)
Converter constructor.
Definition
xAODTrigNavigationAuxInfoCnv.cxx:27
xAODTrigNavigationAuxInfoCnv::createPersistentWithKey
virtual xAOD::TrigNavigationAuxInfo * createPersistentWithKey(xAOD::TrigNavigationAuxInfo *trans, const std::string &key) override
Function preparing the container to be written out.
Definition
xAODTrigNavigationAuxInfoCnv.cxx:34
xAOD::TrigNavigation_v1::setSerialized
void setSerialized(const std::vector< unsigned int > &value)
sets the serialized form of the navigation from the argument
trans
TH1F * trans(TH1F *h, bool t=false)
Definition
comparitor.cxx:199
copyAuxStoreThinned.h
Helper to copy an aux store while applying thinning.
getThinningCache.h
Helpers to retrieve the current thinning cache from the event context.
SG::getThinningCache
const SG::ThinningCache * getThinningCache(const EventContext &ctx)
Retrieve the current thinning cache from the event context.
Definition
getThinningCache.cxx:28
xAOD::TrigNavigationAuxInfo
TrigNavigationAuxInfo_v1 TrigNavigationAuxInfo
Define the latest version of the trigger navigation auxiliary information class.
Definition
TrigNavigationAuxInfo.h:17
xAOD::TrigNavigation
TrigNavigation_v1 TrigNavigation
Define the latest version of the trigger navigation class.
Definition
TrigNavigation.h:16
temp
Definition
JetEventDict.h:21
xAODTrigNavigationAuxInfoCnv.h
xAODTrigNavigationAuxInfoCnvBase
T_AthenaPoolAuxContainerCnv< xAOD::TrigNavigationAuxInfo > xAODTrigNavigationAuxInfoCnvBase
Base class for the converter.
Definition
xAODTrigNavigationAuxInfoCnv.h:19
Generated on
for ATLAS Offline Software by
1.17.0