ATLAS Offline Software
EventTypeCnv_p1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "EventInfo/EventType.h"
7 
8 void EventTypeCnv_p1::transToPers(const EventType* trans, EventType_p1* pers, MsgStream &) const {
9  // Deprecated - writing out with _p3 RDS 2013/10
10  pers->m_user_type = trans->user_type_raw();
11  pers->m_bit_mask = trans->bit_mask();
12  pers->m_mc_event_weight = 0;
13  if (trans->n_mc_event_weights() > 0)
14  pers->m_mc_event_weight = trans->mc_event_weight(0);
15 }
16 
17 void EventTypeCnv_p1::persToTrans(const EventType_p1* pers, EventType* trans, MsgStream &) const {
18  *trans = EventType();
19  trans->set_user_type (pers->m_user_type);
20  for (size_t i = 0; i < pers->m_bit_mask.size(); i++) {
21  if (pers->m_bit_mask[i])
22  trans->add_type (i);
23  }
24  trans->set_mc_event_weight ((float)pers->m_mc_event_weight, 0, 1);
25 }
26 
28 {
29  auto trans = std::make_unique<EventType>();
30  persToTrans(persObj, trans.get(), log);
31  return(trans.release());
32 }
33 
EventType_p1::m_mc_event_weight
number_type m_mc_event_weight
Definition: EventType_p1.h:29
EventType::add_type
void add_type(EventTypeCode type_code)
Add a new event type.
Definition: EventType.cxx:51
EventType
This class represents the "type of event" where the type is given by one or more "characteristics".
Definition: EventType.h:92
EventTypeCnv_p1::createTransientConst
virtual EventType * createTransientConst(const EventType_p1 *persObj, MsgStream &log) const override
Definition: EventTypeCnv_p1.cxx:27
EventType_p1::m_user_type
std::string m_user_type
Definition: EventType_p1.h:28
EventType.h
This class provides general information about an event. It extends EventInfo with a list of sub-evts ...
EventTypeCnv_p1::transToPers
virtual void transToPers(const EventType *transObj, EventType_p1 *persObj, MsgStream &log) const override
Definition: EventTypeCnv_p1.cxx:8
EventType::mc_event_weight
float mc_event_weight(unsigned int iweight=0) const
Access to MC weight.
Definition: EventType.cxx:175
lumiFormat.i
int i
Definition: lumiFormat.py:92
EventType_p1::m_bit_mask
BitMask m_bit_mask
Definition: EventType_p1.h:27
EventType::set_mc_event_weight
void set_mc_event_weight(float weight, unsigned int iweight=0, unsigned int nWeightsMax=0)
Add in MC weight. For more than 1 weight, add with iweight > 0.
Definition: EventType.cxx:207
EventType::set_user_type
void set_user_type(const std::string &user_type)
Add user (string) type.
Definition: EventType.cxx:57
EventTypeCnv_p1.h
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
EventType::n_mc_event_weights
unsigned int n_mc_event_weights() const
Total number of MC weights.
Definition: EventType.cxx:214
EventTypeCnv_p1::persToTrans
virtual void persToTrans(const EventType_p1 *persObj, EventType *transObj, MsgStream &log) const override
Definition: EventTypeCnv_p1.cxx:17
EventType_p1
Definition: EventType_p1.h:17
EventType::user_type_raw
const std::string & user_type_raw(void) const
Access to user type.
Definition: EventType.cxx:108
EventType::bit_mask
const BitMask & bit_mask() const
Definition: EventType.cxx:192