9#include <tracking/trackFindingCDC/mclookup/CDCMCManager.h>
11#include <tracking/trackFindingCDC/mclookup/CDCMCHitLookUp.h>
12#include <tracking/trackFindingCDC/mclookup/CDCMCSegment2DLookUp.h>
13#include <tracking/trackFindingCDC/mclookup/CDCMCSegment3DLookUp.h>
14#include <tracking/trackFindingCDC/mclookup/CDCMCTrackLookUp.h>
16#include <tracking/trackFindingCDC/mclookup/CDCMCTrackStore.h>
17#include <tracking/trackFindingCDC/mclookup/CDCSimHitLookUp.h>
19#include <tracking/trackFindingCDC/mclookup/CDCMCMap.h>
21#include <framework/datastore/StoreArray.h>
22#include <framework/datastore/StoreObjPtr.h>
24#include <cdc/dataobjects/CDCSimHit.h>
25#include <mdst/dataobjects/MCParticle.h>
28using namespace TrackFindingCDC;
58 return mcSegment2DLookUp;
64 return mcSegment3DLookUp;
82 return ::getMCMapInstance();
87 return ::getMCTrackStoreInstance();
92 return ::getSimHitLookUpInstance();
97 return ::getMCHitLookUpInstance();
102 return ::getMCSegment2DLookUpInstance();
107 return ::getMCSegment3DLookUpInstance();
112 return ::getMCTrackLookUpInstance();
117 StoreArray <CDCSimHit> cdcSimHits;
119 StoreArray <MCParticle> mcParticles;
125 ::getMCTrackLookUpInstance().clear();
126 ::getMCSegment3DLookUpInstance().clear();
127 ::getMCSegment2DLookUpInstance().clear();
130 ::getMCTrackStoreInstance().clear();
131 ::getSimHitLookUpInstance().clear();
132 ::getMCMapInstance().clear();
139 if (storedEventMetaData.
isValid()) {
148 ::getMCMapInstance().fill();
150 ::getSimHitLookUpInstance().fill(ptrMCMap);
153 ::getMCTrackStoreInstance().fill(ptrMCMap, ptrSimHitLookUp);
155 if (storedEventMetaData.
isValid()) {
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
Type-safe access to single objects in the data store.
bool isValid() const
Check whether the object was created.
Interface class to the Monte Carlo information for individual hits.
Class to organize and present the Monte Carlo hit information.
static const CDCSimHitLookUp & getSimHitLookUp()
Getter for the singleton instance of the CDCSimHitLookUp.
static const CDCMCSegment2DLookUp & getMCSegment2DLookUp()
Getter for the singleton instance of the CDCMCSegment2DLookUp.
static const CDCMCSegment3DLookUp & getMCSegment3DLookUp()
Getter for the singleton instance of the CDCMCSegment3DLookUp.
static const CDCMCHitLookUp & getMCHitLookUp()
Getter for the singleton instance of the CDCMCHitLookUp.
static const CDCMCTrackLookUp & getMCTrackLookUp()
Getter for the singleton instance of the CDCMCTrackLookUp.
static const CDCMCTrackStore & getMCTrackStore()
Getter for the singleton instance of the CDCMCTrackStore.
EventMetaData m_eventMetaData
Memory for the event, run and experiment number corresponding to the currently stored data.
void requireTruthInformation()
Require the MC information store arrays.
void clear()
Clears all Monte Carlo information present in the last event.
static const CDCMCMap & getMCMap()
Getter for the singleton instance of the CDCMCMap.
void fill()
Fill Monte Carlo look up maps from the DataStore.
static CDCMCManager & getInstance()
Getter for the singleton instance.
Class to organize and present the Monte Carlo hit information.
Specialisation of the lookup for the truth values of two dimensional segments.
Specialisation of the lookup for the truth values of two dimensional segments.
Specialisation of the lookup for the truth values of reconstructed tracks.
Class to organize and present the monte carlo hit information.
Singletone class to gather local information about the hits.
Abstract base class for different kinds of events.