ana::OptimizedStore Class Reference

#include <OptimizedStore.h>

List of all members.

Classes

struct  InfoObject
struct  InfoType
struct  Pimpl

Public Member Functions

 OptimizedStore (const OptimizedStore &)
OptimizedStoreoperator= (const OptimizedStore &)
void testInvariant () const
 test the invariant of this object
 OptimizedStore (const std::vector< CP::SystematicSet > &val_requestedSystematics, StoreType *val_store)
 standard constructor
 ~OptimizedStore ()
 standard destructor
const std::vector
< CP::SystematicSet > & 
requestedSystematics () const
 the list of all requested systematics
const CP::SystematicSetobjectSystematics (ObjectType type) const
 the list of all systematics for the given object type and the currently registered tools
StatusCode prepareCopy (ObjectType type, std::size_t index, std::size_t origIndex)
 make a preparation copy from the original index to the new index
StatusCode initializeIndices (const std::vector< OptimizedObjects * > &objects, unsigned inputTypes, unsigned outputTypes, AnalysisStep step)
 initialize the indices on the given list of systematics objects
void clearData ()
 clear out all the data in anticipation of the next event
StatusCode finalInit ()
 do all the final initialization
unsigned objectTypes () const
 the defined object types
void fillEventData (ObjectType type, unsigned index, const CP::SystematicSet &sys, EventData &eventData) const
 fill the given EventData structure for the given systematic
void * getVoid (ObjectType type, std::size_t index) const
StatusCode addCopy (ObjectType type, std::size_t index, const std::string &name)
StatusCode addNew (ObjectType type, std::size_t index)

Static Public Attributes

static const std::size_t noIndex = std::size_t (-1)
 the index to use when we do not use an object type

Detailed Description

A wrapper to the event store for the optimized scheduler.

Manages systematics information and holds pointers to all collections at all processing stages and systematics.


Constructor & Destructor Documentation

ana::OptimizedStore::OptimizedStore ( const std::vector< CP::SystematicSet > &  val_requestedSystematics,
StoreType val_store 
)

standard constructor

Guarantee
strong
Failures
out of memory II
ana::OptimizedStore::~OptimizedStore (  ) 

standard destructor

Guarantee
no-fail
Rationale
an explicit destructor to reduce includes in the header file

Member Function Documentation

StatusCode ana::OptimizedStore::addCopy ( ObjectType  type,
std::size_t  index,
const std::string &  name 
)

add a shallow copy of the input container with the given name

Guarantee
basic
Failures
object already initialized
input object not found
shallow copy failures

StatusCode ana::OptimizedStore::addNew ( ObjectType  type,
std::size_t  index 
)

add a new container of the given type

Guarantee
basic
Failures
object already initialized
object creation failures

void ana::OptimizedStore::clearData (  ) 

clear out all the data in anticipation of the next event

Guarantee
no-fail
void ana::OptimizedStore::fillEventData ( ObjectType  type,
unsigned  index,
const CP::SystematicSet sys,
EventData eventData 
) const

fill the given EventData structure for the given systematic

Guarantee
basic
Failures
out of memory II
StatusCode ana::OptimizedStore::finalInit (  ) 

do all the final initialization

Guarantee
no-fail
void * ana::OptimizedStore::getVoid ( ObjectType  type,
std::size_t  index 
) const

get the object or object container for the given object type or NULL if it hasn't been filled (yet).

Guarantee
no-fail this has to be cast exactly to the type defined by ObjecTypeInfo::asXAOD. it is much easier to go with the get function instead.

StatusCode ana::OptimizedStore::initializeIndices ( const std::vector< OptimizedObjects * > &  objects,
unsigned  inputTypes,
unsigned  outputTypes,
AnalysisStep  step 
)

initialize the indices on the given list of systematics objects

Guarantee
basic
Failures
out of memory II
requesting object type not provided yet
providing new object type already present
const CP::SystematicSet & ana::OptimizedStore::objectSystematics ( ObjectType  type  )  const

the list of all systematics for the given object type and the currently registered tools

Guarantee
strong
Failures
invalid object type or index
unsigned ana::OptimizedStore::objectTypes (  )  const

the defined object types

Guarantee
no-fail
StatusCode ana::OptimizedStore::prepareCopy ( ObjectType  type,
std::size_t  index,
std::size_t  origIndex 
)

make a preparation copy from the original index to the new index

This is used whenever we create new systematics for an object type.

Guarantee
basic
Failures
xAOD copy failures
invalid indices
const std::vector< CP::SystematicSet > & ana::OptimizedStore::requestedSystematics (  )  const

the list of all requested systematics

Guarantee
no-fail
void ana::OptimizedStore::testInvariant (  )  const

test the invariant of this object

Guarantee
no-fail

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1