ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
PileUpStream Class Reference

a triple selector/context/store defines a stream More...

#include <PileUpStream.h>

Inheritance diagram for PileUpStream:
Collaboration diagram for PileUpStream:

Public Types

typedef IEvtSelector::Context EvtIterator
 

Public Member Functions

bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 
Structors
 PileUpStream ()
 Structors. More...
 
 PileUpStream (const PileUpStream &rhs)=delete
 
PileUpStreamoperator= (const PileUpStream &rhs)=delete
 
 PileUpStream (PileUpStream &&rhs)
 
PileUpStreamoperator= (PileUpStream &&rhs)
 
 PileUpStream (const std::string &name, IEvtSelector *sel, StoreGateSvc *store)
 
 PileUpStream (const std::string &name, ISvcLocator *svcLoc, const std::string &selecName)
 
 PileUpStream (const std::string &name, ISvcLocator *svcLoc, IEvtSelector *sel)
 
virtual ~PileUpStream ()
 

Private Member Functions

void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

accessors

std::string m_name
 Stream name. More...
 
ISvcLocator * p_svcLoc
 ServiceLocator. More...
 
IEvtSelector * p_sel
 Selector. More...
 
StoreGateSvcp_SG
 StoreGateSvc;. More...
 
EvtIteratorp_iter
 Input Iterators. More...
 
PileUpMergeSvcp_mergeSvc
 
bool m_ownEvtIterator
 
bool m_neverLoaded
 

do we own p_iter?

More...
 
bool m_ownStore
 

has an event been loaded into this stream?

More...
 
bool m_used
 

is p_SG a store we cloned from the master one?

More...
 
bool m_hasRing
 has this stream already been used? (for the current event) More...
 
unsigned int m_iOriginalRing
 
const std::string & name ()
 
IEvtSelector & selector ()
 
EvtIteratoriterator ()
 
StoreGateSvcstore ()
 
const IEvtSelector & selector () const
 
const EvtIteratoriterator () const
 
const StoreGateSvcstore () const
 
const xAOD::EventInfonextEventPre (bool readRecord=true)
 return next Event, load store with next Event More...
 
bool nextEventPre_Passive (bool readRecord)
 like nextEventPre, but doesn't actually load anything More...
 
bool setupStore ()
 setup input and overlay selectors and iters More...
 
bool setupStore (bool)
 backward compatibility More...
 
StatusCode finalize ()
 finalize and release store. To be called on ... finalize() More...
 
bool used () const
 has this stream already be used in this event? More...
 
void setUsed ()
 
void resetUsed ()
 
bool hasRing () const
 
unsigned int originalIRing () const
 index of the ring for which this stream was used originally More...
 
void setOriginalIRing (unsigned int iR)
 
ISvcLocator * serviceLocator ()
 
StatusCode nextRecordPre ()
 increment event iterator before loading store More...
 
StatusCode nextRecordPre_Passive ()
 increment event iterator More...
 
bool loadStore ()
 clear store and load new proxies More...
 
void setActiveStore ()
 set ActiveStore More...
 

Detailed Description

a triple selector/context/store defines a stream

Definition at line 31 of file PileUpStream.h.

Member Typedef Documentation

◆ EvtIterator

typedef IEvtSelector::Context PileUpStream::EvtIterator

Definition at line 35 of file PileUpStream.h.

Constructor & Destructor Documentation

◆ PileUpStream() [1/6]

PileUpStream::PileUpStream ( )

Structors.

Definition at line 27 of file PileUpStream.cxx.

27  :
28  AthMessaging ("PileUpStream"),
29  m_name("INVALID"), p_svcLoc(0), p_sel(0), p_SG(0), p_iter(0),
30  p_mergeSvc(nullptr), m_ownEvtIterator(false),
31  m_neverLoaded(true), m_ownStore(false),
32  m_used(false), m_hasRing(false), m_iOriginalRing(0)
33 {
34 }

◆ PileUpStream() [2/6]

PileUpStream::PileUpStream ( const PileUpStream rhs)
delete

◆ PileUpStream() [3/6]

PileUpStream::PileUpStream ( PileUpStream &&  rhs)

Definition at line 36 of file PileUpStream.cxx.

36  :
37  AthMessaging (rhs.m_name),
38  m_name(rhs.m_name), p_svcLoc(rhs.p_svcLoc), p_sel(rhs.p_sel),
42 {
43  //transferred ownership
44  rhs.m_ownEvtIterator=false;
45  rhs.m_ownStore=false;
46 }

◆ PileUpStream() [4/6]

PileUpStream::PileUpStream ( const std::string &  name,
IEvtSelector *  sel,
StoreGateSvc store 
)

◆ PileUpStream() [5/6]

PileUpStream::PileUpStream ( const std::string &  name,
ISvcLocator *  svcLoc,
const std::string &  selecName 
)

Definition at line 89 of file PileUpStream.cxx.

91  :
93  m_name(name), p_svcLoc(svcLoc), p_sel(0), p_SG(0), p_iter(0),
94  m_ownEvtIterator(false),
95  m_neverLoaded(true), m_ownStore(false),
96  m_used(false), m_hasRing(false), m_iOriginalRing(0)
97 
98 {
99  assert(p_svcLoc);
100  if (!(serviceLocator()->service(selecName, p_sel).isSuccess() &&
101  serviceLocator()->service("PileUpMergeSvc", p_mergeSvc, true).isSuccess() &&
102  p_sel->createContext(p_iter).isSuccess() )) {
103  const std::string errMsg("PileUpStream: can not create stream");
104  ATH_MSG_ERROR ( errMsg );
105  throw std::runtime_error(errMsg);
106  } else m_ownEvtIterator=true;
107 }

◆ PileUpStream() [6/6]

PileUpStream::PileUpStream ( const std::string &  name,
ISvcLocator *  svcLoc,
IEvtSelector *  sel 
)

Definition at line 69 of file PileUpStream.cxx.

71  :
73  m_name(name), p_svcLoc(svcLoc), p_sel(sel), p_SG(0), p_iter(0),
74  m_ownEvtIterator(false),
75  m_neverLoaded(true), m_ownStore(false),
76  m_used(false), m_hasRing(false), m_iOriginalRing(0)
77 {
78  assert(p_sel);
79  assert(p_svcLoc);
80  if( !( p_sel->createContext(p_iter).isSuccess() &&
81  serviceLocator()->service("PileUpMergeSvc", p_mergeSvc, true).isSuccess() ) ) {
82 
83  const std::string errMsg("PileUpStream:: can not create stream");
84  ATH_MSG_ERROR ( errMsg );
85  throw std::runtime_error(errMsg);
86  } else m_ownEvtIterator=true;
87 }

◆ ~PileUpStream()

PileUpStream::~PileUpStream ( )
virtual

Definition at line 109 of file PileUpStream.cxx.

110 {
111 }

Member Function Documentation

◆ finalize()

StatusCode PileUpStream::finalize ( )

finalize and release store. To be called on ... finalize()

Definition at line 262 of file PileUpStream.cxx.

262  {
263  StatusCode sc(StatusCode::SUCCESS);
264  if (m_ownEvtIterator) delete p_iter;
265  //we own and manage our cloned SG instance
266 #ifdef GAUDIKERNEL_STATEMACHINE_H_
267  if (m_ownStore && Gaudi::StateMachine::INITIALIZED == store().FSMState()) {
268  sc = this->store().sysFinalize();
269  }
270 #else
271  if (m_ownStore && this->store().state() == IService::INITIALIZED) sc = this->store().sysFinalize();
272 #endif
273  this->store().release();
274  return sc;
275 }

◆ hasRing()

bool PileUpStream::hasRing ( ) const
inline

Definition at line 85 of file PileUpStream.h.

85 { return m_hasRing; }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ iterator() [1/2]

EvtIterator& PileUpStream::iterator ( )
inline

Definition at line 60 of file PileUpStream.h.

60 { return *p_iter; }

◆ iterator() [2/2]

const EvtIterator& PileUpStream::iterator ( ) const
inline

Definition at line 63 of file PileUpStream.h.

63 { return *p_iter; }

◆ loadStore()

bool PileUpStream::loadStore ( )
private

clear store and load new proxies

Definition at line 209 of file PileUpStream.cxx.

210 {
211  m_neverLoaded=false;
212 
213  IOpaqueAddress* paddr(0);
214  bool rc = (this->selector().createAddress(iterator(), paddr)).isSuccess();
215  if ( 0 != paddr) rc &= this->store().recordAddress(paddr).isSuccess();
216 
217  // load store proxies
218  rc &= this->store().loadEventProxies().isSuccess();
219  return rc;
220 }

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 164 of file AthMessaging.h.

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152 {
153  if (!m_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

◆ name()

const std::string& PileUpStream::name ( )
inline

Definition at line 58 of file PileUpStream.h.

58 { return m_name; }

◆ nextEventPre()

const xAOD::EventInfo * PileUpStream::nextEventPre ( bool  readRecord = true)

return next Event, load store with next Event

Definition at line 223 of file PileUpStream.cxx.

224 {
225  if (m_neverLoaded) readRecord=true;
226  else if (readRecord) {
227  //do not reset these the first time we call nextEventPre
228  this->resetUsed();
229  m_hasRing=false;
230  }
231  // if (isNotEmpty()) {
232  if (readRecord && this->nextRecordPre().isFailure()) {
233  ATH_MSG_INFO ( "nextEventPre(): end of the loop. No more events in the selection" );
234  return nullptr;
235  }
236 
237  const xAOD::EventInfo* xAODEventInfo = p_mergeSvc->getPileUpEvent( p_SG, "" );
238  if (readRecord and xAODEventInfo) {
239  ATH_MSG_DEBUG ( "nextEventPre(): read new event "
240  << xAODEventInfo->eventNumber()
241  << " run " << xAODEventInfo->runNumber()
242  << " into store " << this->store().name() );
243  }
244 
245  return xAODEventInfo;
246 }

◆ nextEventPre_Passive()

bool PileUpStream::nextEventPre_Passive ( bool  readRecord)

like nextEventPre, but doesn't actually load anything

Definition at line 248 of file PileUpStream.cxx.

248  {
249  if (m_neverLoaded) readRecord=true;
250  else if (readRecord) {
251  //do not reset these the first time we call nextEventPre_Passive
252  this->resetUsed();
253  m_hasRing=false;
254  }
255  if (readRecord && this->nextRecordPre_Passive().isFailure()) {
256  ATH_MSG_INFO ( "nextEventPre_Passive(): end of the loop. No more events in the selection" );
257  return false;
258  }
259  return true;
260 }

◆ nextRecordPre()

StatusCode PileUpStream::nextRecordPre ( )
private

increment event iterator before loading store

Definition at line 194 of file PileUpStream.cxx.

195 {
196  // Clear the store, move to next event and load the store
197  return (this->nextRecordPre_Passive().isSuccess() &&
198  this->loadStore()) ?
199  StatusCode::SUCCESS :
200  StatusCode::FAILURE;
201 }

◆ nextRecordPre_Passive()

StatusCode PileUpStream::nextRecordPre_Passive ( )
private

increment event iterator

Definition at line 184 of file PileUpStream.cxx.

185 {
186  this->setActiveStore();
187  // Clear the store, move to next event
188  return (this->store().clearStore().isSuccess() &&
189  this->selector().next(iterator()).isSuccess() ) ?
190  StatusCode::SUCCESS :
191  StatusCode::FAILURE;
192 }

◆ operator=() [1/2]

PileUpStream& PileUpStream::operator= ( const PileUpStream rhs)
delete

◆ operator=() [2/2]

PileUpStream & PileUpStream::operator= ( PileUpStream &&  rhs)

Definition at line 49 of file PileUpStream.cxx.

49  {
50  if (this != &rhs) {
51  m_name=rhs.m_name;
52  p_svcLoc=rhs.p_svcLoc;
53  p_sel=rhs.p_sel;
54  p_SG=rhs.p_SG;
55  p_iter=rhs.p_iter;
56  p_mergeSvc = rhs.p_mergeSvc;
58  rhs.m_ownEvtIterator=false;
61  rhs.m_ownStore=false;
62  m_used=rhs.m_used;
63  m_hasRing=rhs.m_hasRing;
65  }
66  return *this;
67 }

◆ originalIRing()

unsigned int PileUpStream::originalIRing ( ) const
inline

index of the ring for which this stream was used originally

Definition at line 87 of file PileUpStream.h.

87 { return m_iOriginalRing; }

◆ resetUsed()

void PileUpStream::resetUsed ( )
inline

Definition at line 84 of file PileUpStream.h.

84 {m_used=false;}

◆ selector() [1/2]

IEvtSelector& PileUpStream::selector ( )
inline

Definition at line 59 of file PileUpStream.h.

59 { return *p_sel; }

◆ selector() [2/2]

const IEvtSelector& PileUpStream::selector ( ) const
inline

Definition at line 62 of file PileUpStream.h.

62 { return *p_sel; }

◆ serviceLocator()

ISvcLocator* PileUpStream::serviceLocator ( )
inlineprivate

Definition at line 97 of file PileUpStream.h.

97 { return p_svcLoc; }

◆ setActiveStore()

void PileUpStream::setActiveStore ( )
private

set ActiveStore

Definition at line 179 of file PileUpStream.cxx.

180 {
181  store().makeCurrent();
182 }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

◆ setOriginalIRing()

void PileUpStream::setOriginalIRing ( unsigned int  iR)
inline

Definition at line 88 of file PileUpStream.h.

88  {
89  if (!m_hasRing) {
90  m_hasRing=true;
91  m_iOriginalRing=iR;
92  }
93  }

◆ setupStore() [1/2]

bool PileUpStream::setupStore ( )

setup input and overlay selectors and iters

Definition at line 113 of file PileUpStream.cxx.

114 {
115  assert( p_iter );
116  assert( p_sel );
117  bool rc(true);
118  std::string storeName(name() + "_SG");
119 
120  //start by looking for the store directly: in overlay jobs it may already be there
121  const bool DONOTCREATE(false);
122  rc = (serviceLocator()->service(storeName, p_SG, DONOTCREATE)).isSuccess();
123  if (rc) {
124  m_ownStore = false;
125  } else {
126  //not there, create one cloning the master store
127  Service *child;
128  //if the parent store is not there barf
129  //remember the clone function also initializes the service if needed
130  IService* pIS(0);
131  rc = ((serviceLocator()->getService("StoreGateSvc", pIS)).isSuccess() &&
132  CloneService::clone(pIS, storeName, child).isSuccess() &&
133  0 != (p_SG = dynamic_cast<StoreGateSvc*>(child)));
134  if ( rc ) {
135  m_ownStore = true;
136  // further initialization of the cloned service
137  rc = (p_SG->sysInitialize()).isSuccess();
138  p_SG->setStoreID(StoreID::PILEUP_STORE); //needed by ProxyProviderSvc
139  } //clones
140  }
141  if (rc) {
142  //if the selector is an address provider like the AthenaPool one,
143  //create a dedicated ProxyProviderSvc and associate it to the store
144  IAddressProvider* pIAP(dynamic_cast<IAddressProvider*>(p_sel));
145  if (0 != pIAP) {
146  IProxyProviderSvc* pPPSvc(0);
147  std::string PPSName(name() + "_PPS");
148  ISvcManager* pISM(dynamic_cast<ISvcManager*>(serviceLocator()));
149  if ( 0 != pISM &&
150  (pISM->declareSvcType(PPSName, "ProxyProviderSvc")).isSuccess() &&
151  //check the service is not there then create it
152  (serviceLocator()->service(PPSName,
153  pPPSvc,
154  true)).isSuccess()) {
155  pPPSvc->addProvider(pIAP);
156  IService* pSAthPoolAddProv(0);
157  IAddressProvider* pAthPoolAddProv(0);
158  if (serviceLocator()->service("AthenaPoolAddressProviderSvc", pSAthPoolAddProv).isSuccess() &&
159  0 != (pAthPoolAddProv = dynamic_cast<IAddressProvider*>(pSAthPoolAddProv))) {
160  pPPSvc->addProvider(pAthPoolAddProv);
161  } else {
162  ATH_MSG_WARNING ( "could not add AthenaPoolAddressProviderSvc as AddresssProvider for "<< PPSName );
163  }
164  IService* pSAddrRemap(0);
165  IAddressProvider* pAddrRemap(0);
166  if (serviceLocator()->service("AddressRemappingSvc", pSAddrRemap).isSuccess() &&
167  0 != (pAddrRemap = dynamic_cast<IAddressProvider*>(pSAddrRemap))) {
168  pPPSvc->addProvider(pAddrRemap);
169  } else {
170  ATH_MSG_WARNING ( "could not add AddressRemappingSvc as AddresssProvider for "<< PPSName );
171  }
172  p_SG->setProxyProviderSvc(pPPSvc);
173  }
174  } //valid address provider
175  }
176  return rc;
177 }

◆ setupStore() [2/2]

bool PileUpStream::setupStore ( bool  )
inline

backward compatibility

Definition at line 76 of file PileUpStream.h.

76 { return setupStore();}

◆ setUsed()

void PileUpStream::setUsed ( )
inline

Definition at line 83 of file PileUpStream.h.

83 {m_used=true;}

◆ store() [1/2]

StoreGateSvc& PileUpStream::store ( )
inline

Definition at line 61 of file PileUpStream.h.

61 { return *p_SG; }

◆ store() [2/2]

const StoreGateSvc& PileUpStream::store ( ) const
inline

Definition at line 64 of file PileUpStream.h.

64 { return *p_SG; }

◆ used()

bool PileUpStream::used ( ) const
inline

has this stream already be used in this event?

Definition at line 82 of file PileUpStream.h.

82 {return m_used;}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_hasRing

bool PileUpStream::m_hasRing
private

has this stream already been used? (for the current event)

Definition at line 134 of file PileUpStream.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_iOriginalRing

unsigned int PileUpStream::m_iOriginalRing
private

Definition at line 135 of file PileUpStream.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_name

std::string PileUpStream::m_name
private

Stream name.

Definition at line 115 of file PileUpStream.h.

◆ m_neverLoaded

bool PileUpStream::m_neverLoaded
private

do we own p_iter?

Private message stream member

Definition at line 130 of file PileUpStream.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_ownEvtIterator

bool PileUpStream::m_ownEvtIterator
private

Definition at line 128 of file PileUpStream.h.

◆ m_ownStore

bool PileUpStream::m_ownStore
private

has an event been loaded into this stream?

Definition at line 131 of file PileUpStream.h.

◆ m_used

bool PileUpStream::m_used
private

is p_SG a store we cloned from the master one?

Definition at line 133 of file PileUpStream.h.

◆ p_iter

EvtIterator* PileUpStream::p_iter
private

Input Iterators.

Definition at line 123 of file PileUpStream.h.

◆ p_mergeSvc

PileUpMergeSvc* PileUpStream::p_mergeSvc
private

Definition at line 125 of file PileUpStream.h.

◆ p_sel

IEvtSelector* PileUpStream::p_sel
private

Selector.

Definition at line 119 of file PileUpStream.h.

◆ p_SG

StoreGateSvc* PileUpStream::p_SG
private

StoreGateSvc;.

Definition at line 121 of file PileUpStream.h.

◆ p_svcLoc

ISvcLocator* PileUpStream::p_svcLoc
private

ServiceLocator.

Definition at line 117 of file PileUpStream.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
PileUpStream::setActiveStore
void setActiveStore()
set ActiveStore
Definition: PileUpStream.cxx:179
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
StoreGateSvc::setProxyProviderSvc
void setProxyProviderSvc(IProxyProviderSvc *pPPSvc)
associate ProxyProviderSvc to this store
PileUpMergeSvc::getPileUpEvent
const xAOD::EventInfo * getPileUpEvent(StoreGateSvc *sg, const std::string &einame) const
get EventInfo from SG, by default using p_overStore
Definition: PileUpMergeSvc.cxx:122
StoreGateSvc::makeCurrent
void makeCurrent()
The current store is becoming the active store.
Definition: StoreGateSvc.cxx:507
PileUpStream::nextRecordPre
StatusCode nextRecordPre()
increment event iterator before loading store
Definition: PileUpStream.cxx:194
PileUpStream::p_mergeSvc
PileUpMergeSvc * p_mergeSvc
Definition: PileUpStream.h:125
PileUpStream::m_name
std::string m_name
Stream name.
Definition: PileUpStream.h:115
PileUpStream::p_sel
IEvtSelector * p_sel
Selector.
Definition: PileUpStream.h:119
PileUpStream::iterator
EvtIterator & iterator()
Definition: PileUpStream.h:60
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
PileUpStream::m_hasRing
bool m_hasRing
has this stream already been used? (for the current event)
Definition: PileUpStream.h:134
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
python.FakeAthena.Service
def Service(name)
Definition: FakeAthena.py:38
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
PileUpStream::selector
IEvtSelector & selector()
Definition: PileUpStream.h:59
AthMessaging::AthMessaging
AthMessaging()
Default constructor:
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
PileUpStream::p_svcLoc
ISvcLocator * p_svcLoc
ServiceLocator.
Definition: PileUpStream.h:117
PileUpStream::m_used
bool m_used
is p_SG a store we cloned from the master one?
Definition: PileUpStream.h:133
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
PileUpStream::m_ownStore
bool m_ownStore
has an event been loaded into this stream?
Definition: PileUpStream.h:131
StoreID::PILEUP_STORE
@ PILEUP_STORE
Definition: StoreID.h:31
fillPileUpNoiseLumi.next
next
Definition: fillPileUpNoiseLumi.py:52
PileUpStream::setupStore
bool setupStore()
setup input and overlay selectors and iters
Definition: PileUpStream.cxx:113
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
sel
sel
Definition: SUSYToolsTester.cxx:92
IAddressProvider
interface for IOA providers
Definition: IAddressProvider.h:28
StoreGateSvc::loadEventProxies
StatusCode loadEventProxies()
load proxies at begin event
Definition: StoreGateSvc.cxx:453
PileUpStream::m_iOriginalRing
unsigned int m_iOriginalRing
Definition: PileUpStream.h:135
PileUpStream::resetUsed
void resetUsed()
Definition: PileUpStream.h:84
PileUpStream::name
const std::string & name()
Definition: PileUpStream.h:58
PileUpStream::nextRecordPre_Passive
StatusCode nextRecordPre_Passive()
increment event iterator
Definition: PileUpStream.cxx:184
PileUpStream::loadStore
bool loadStore()
clear store and load new proxies
Definition: PileUpStream.cxx:209
PileUpStream::m_neverLoaded
bool m_neverLoaded
do we own p_iter?
Definition: PileUpStream.h:130
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
PileUpStream::store
StoreGateSvc & store()
Definition: PileUpStream.h:61
PileUpStream::serviceLocator
ISvcLocator * serviceLocator()
Definition: PileUpStream.h:97
PileUpStream::m_ownEvtIterator
bool m_ownEvtIterator
Definition: PileUpStream.h:128
IProxyProviderSvc
Definition: IProxyProviderSvc.h:34
StoreGateSvc::recordAddress
StatusCode recordAddress(const std::string &skey, IOpaqueAddress *pAddress, bool clearAddressFlag=true)
Create a proxy object using an IOpaqueAddress and a transient key.
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
PileUpStream::p_SG
StoreGateSvc * p_SG
StoreGateSvc;.
Definition: PileUpStream.h:121
CloneService::clone
StatusCode clone(const IService *parent, const std::string &childName, Service *&child)
given a reference to a parent svc sets a reference to a cloned child
Definition: CloneService.cxx:19
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
StoreGateSvc::setStoreID
void setStoreID(StoreID::type id)
set store ID. request forwarded to DataStore:
Definition: StoreGateSvc.cxx:370
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
PileUpStream::p_iter
EvtIterator * p_iter
Input Iterators.
Definition: PileUpStream.h:123
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
python.trfValidateRootFile.rc
rc
Definition: trfValidateRootFile.py:350