00001
00002
00003 #ifndef XAODCUTFLOW_VERSIONS_CUTBOOKKEEPERAUXCONTAINER_V1_H
00004 #define XAODCUTFLOW_VERSIONS_CUTBOOKKEEPERAUXCONTAINER_V1_H
00005
00006
00007 #include <vector>
00008
00009
00010 #include "xAODCore/AuxContainerBase.h"
00011 #include "xAODCutFlow/versions/CutBookkeeper_v1.h"
00012 #include "xAODCutFlow/versions/CutBookkeeperContainer_v1.h"
00013 #include "AthLinks/ElementLink.h"
00014
00015
00016 namespace xAOD {
00017
00018 typedef ElementLink< CutBookkeeperContainer_v1> CutBookkeeperLink_t;
00019 typedef std::vector< xAOD::CutBookkeeperLink_t > CutBookkeeperLinks_t;
00020
00021
00029 class CutBookkeeperAuxContainer_v1 : public AuxContainerBase {
00030
00031 public:
00033 CutBookkeeperAuxContainer_v1();
00035 ~CutBookkeeperAuxContainer_v1() {}
00036
00037
00038
00039 private:
00042
00043 std::vector< unsigned int > nameIdentifier;
00044 std::vector< unsigned int > uniqueIdentifier;
00045 std::vector< std::string > name;
00046 std::vector< std::string > description;
00047 std::vector< unsigned int > cutLogic;
00048 std::vector< int > isTopFilter;
00049 std::vector< int > cycle;
00050 std::vector< std::string > inputStream;
00051 std::vector< std::vector< std::string > > outputStreams;
00052 std::vector< xAOD::CutBookkeeperLink_t > parentLink;
00053 std::vector< xAOD::CutBookkeeperLinks_t > childrenLinks;
00054 std::vector< xAOD::CutBookkeeperLinks_t > othersLinks;
00055 std::vector< xAOD::CutBookkeeperLinks_t > siblingsLinks;
00056
00058
00061 std::vector< uint64_t > nAcceptedEvents;
00062 std::vector< double > sumOfEventWeights;
00063 std::vector< double > sumOfEventWeightsSquared;
00065
00066 };
00067
00068 }
00069
00070
00071
00072 #include "xAODCore/BaseInfo.h"
00073 SG_BASE( xAOD::CutBookkeeperAuxContainer_v1, xAOD::AuxContainerBase );
00074
00075 #endif // XAODCUTFLOW_VERSIONS_CUTBOOKKEEPERAUXCONTAINER_V1_H