Skip to content
Snippets Groups Projects
Commit 53165d26 authored by John Kenneth Anders's avatar John Kenneth Anders
Browse files

Merge branch '21.0-WeightsOverlay' into '21.0'

save mcEventWeights for data overlay

See merge request atlas/athena!23674
parents 34324f32 97a08122
No related branches found
No related tags found
No related merge requests found
......@@ -498,7 +498,7 @@ StatusCode PileUpEventLoopMgr::nextEvent(int maxevt)
std::unique_ptr< xAOD::EventAuxInfo > pxAODEventAuxInfo(new xAOD::EventAuxInfo());
std::unique_ptr< xAOD::EventInfo > pxAODEventInfo( new xAOD::EventInfo());
pxAODEventInfo->setStore( pxAODEventAuxInfo.get() );
CHECK(m_xAODCnvTool->convert( pOverEvent, pxAODEventInfo.get(), false, false ));
CHECK(m_xAODCnvTool->convert( pOverEvent, pxAODEventInfo.get(), false, false, m_isEventOverlayJob));
// Before the record, keep a pointer to the EventInfo object, to be able
// to add ElementLinks to it afterwards.
xAOD::EventInfo* pLocalXAODEventInfo = pxAODEventInfo.get();
......
......@@ -43,7 +43,8 @@ namespace xAODMaker {
virtual StatusCode convert( const EventInfo* aod,
xAOD::EventInfo* xaod,
bool pileUpInfo = false,
bool copyPileUpLinks = true ) = 0;
bool copyPileUpLinks = true,
bool forceMCInfoCopy = false) = 0;
/// Gaudi interface definition
static const InterfaceID& interfaceID() {
......
......@@ -113,7 +113,8 @@ namespace xAODMaker {
StatusCode EventInfoCnvTool::convert( const EventInfo* aod,
xAOD::EventInfo* xaod,
bool pileUpInfo,
bool copyPileUpLinks ) {
bool copyPileUpLinks,
bool forceMCInfoCopy) {
if( ! aod ) {
ATH_MSG_WARNING( "Null pointer received for input!" );
......@@ -150,8 +151,9 @@ namespace xAODMaker {
eventTypeBitmask |= xAOD::EventInfo::IS_CALIBRATION;
}
xaod->setEventTypeBitmask( eventTypeBitmask );
// Only add MC information for simulation files:
if( xaod->eventType( xAOD::EventInfo::IS_SIMULATION ) ) {
// Only add MC information for simulation files
//or for Data+MC overlay
if( xaod->eventType( xAOD::EventInfo::IS_SIMULATION ) || forceMCInfoCopy ) {
xaod->setMCChannelNumber( aod->event_type()->mc_channel_number() );
xaod->setMCEventNumber( aod->event_type()->mc_event_number() );
std::vector< float >
......
......@@ -52,7 +52,8 @@ namespace xAODMaker {
virtual StatusCode convert( const EventInfo* aod,
xAOD::EventInfo* xaod,
bool pileUpInfo = false,
bool copyPileUpLinks = true );
bool copyPileUpLinks = true,
bool forceMCInfoCopy = false);
private:
#ifndef XAOD_ANALYSIS
......
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