00001 #ifndef ROOTIO_COMMONDATA_H
00002 #define ROOTIO_COMMONDATA_H 1
00003
00004
00005 #include "GaudiKernel/MsgStream.h"
00006 #include "GaudiKernel/AlgFactory.h"
00007 #include "GaudiKernel/IDataProviderSvc.h"
00008 #include "GaudiKernel/SmartDataPtr.h"
00009 #include "GaudiKernel/Algorithm.h"
00010
00011 #include "EventModel/Event.h"
00012 #include "EventModel/EventModel.h"
00013
00014
00015 #include "RawEvent/DigiEvent.h"
00016
00017 #include "TFile.h"
00018 #include "TTree.h"
00019 #include "TRef.h"
00020
00021
00022 #include "RootEventData/TDigiEvent.h"
00023 #include "MdcRawEvent/MdcDigi.h"
00024 #include "EmcRawEvent/EmcDigi.h"
00025 #include "TofRawEvent/TofDigi.h"
00026 #include "MucRawEvent/MucDigi.h"
00027 #include "LumiDigi/LumiDigi.h"
00028
00029
00030 #include "RootEventData/TDstEvent.h"
00031 #include "DstEvent/DstMdcTrack.h"
00032 #include "DstEvent/DstEmcShower.h"
00033 #include "DstEvent/DstTofTrack.h"
00034 #include "DstEvent/DstMucTrack.h"
00035 #include "DstEvent/DstMdcDedx.h"
00036 #include "DstEvent/DstExtTrack.h"
00037 #include "DstEvent/DstMdcKalTrack.h"
00038
00039
00040 #include "RootEventData/TMcEvent.h"
00041 #include "McTruth/MdcMcHit.h"
00042 #include "McTruth/EmcMcHit.h"
00043 #include "McTruth/TofMcHit.h"
00044 #include "McTruth/MucMcHit.h"
00045 #include "McTruth/McParticle.h"
00046
00047
00048
00049 #include "RootEventData/TTrigEvent.h"
00050 #include "TrigEvent/TrigData.h"
00051
00052
00053 #include "RootEventData/THltEvent.h"
00054 #include "HltEvent/HltRaw.h"
00055 #include "HltEvent/HltInf.h"
00056 #include "HltEvent/DstHltInf.h"
00057
00058
00059 #include "RootEventData/TRecTrackEvent.h"
00060 #include "RootEventData/TRecTofTrack.h"
00061 #include "RootEventData/TRecMdcTrack.h"
00062 #include "RootEventData/TRecMdcHit.h"
00063 #include "RootEventData/TRecEvTime.h"
00064 #include "RootEventData/TRecEmcHit.h"
00065 #include "RootEventData/TRecEmcCluster.h"
00066 #include "RootEventData/TRecEmcShower.h"
00067 #include "RootEventData/TRecMucTrack.h"
00068 #include "RootEventData/TRecMdcDedx.h"
00069 #include "RootEventData/TRecMdcDedxHit.h"
00070 #include "RootEventData/TEvtHeader.h"
00071 #include "RootEventData/TRecMdcKalTrack.h"
00072 #include "RootEventData/TRecMdcKalHelixSeg.h"
00073 #include "RootEventData/TEvtNavigator.h"
00074
00075 #include "RootEventData/TEvtRecObject.h"
00076
00077 #include "TofRecEvent/RecTofTrack.h"
00078 #include "MdcRecEvent/RecMdcTrack.h"
00079 #include "MdcRecEvent/RecMdcHit.h"
00080 #include "MdcRecEvent/RecMdcKalTrack.h"
00081 #include "MdcRecEvent/RecMdcKalHelixSeg.h"
00082 #include "MdcRecEvent/RecMdcDedx.h"
00083 #include "MdcRecEvent/RecMdcDedxHit.h"
00084 #include "EmcRecEventModel/RecEmcShower.h"
00085 #include "MucRecEvent/RecMucTrack.h"
00086 #include "MucRecEvent/RecMucTrack.h"
00087 #include "EvTimeEvent/RecEsTime.h"
00088
00089 #include "EventNavigator/EventNavigator.h"
00090
00091 #include "Util.h"
00092
00093 #include <map>
00094
00095 using namespace Event;
00096
00097 class EvtRecTrack;
00098 class EvtRecVeeVertex;
00099 class EvtRecPi0;
00100 class EvtRecEtaToGG;
00101 class EvtRecDTag;
00102 class RecZddChannel;
00103
00104 class commonData
00105 {
00106 public:
00107
00108 commonData() { };
00109 ~commonData() { };
00110
00111 void clear();
00112
00113 static TEvtHeader *m_EvtHeader;
00114
00115 static TEvtNavigator *m_EvtNavigator;
00116
00118 static std::map<const MdcDigi*, TRef> m_mdcDigiMap;
00119
00121 static std::map<const TObject*, const MdcDigi*> m_rootMdcDigiMap;
00122
00123
00125 static TDigiEvent *m_recEvt;
00126
00127 static std::map<const EmcDigi* , TRef > m_emcDigiMap;
00128 static std::map<const TObject*, const EmcDigi*> m_rootEmcDigiMap;
00129
00130 static std::map<const TofDigi*, TRef > m_tofDigiMap;
00131 static std::map<const TObject*, const TofDigi*> m_rootTofDigiMap;
00132
00133 static std::map<const MucDigi*, TRef > m_mucDigiMap;
00134 static std::map<const TObject*, const MucDigi*> m_rootMucDigiMap;
00135
00136 static std::map<const LumiDigi*, TRef > m_lumiDigiMap;
00137 static std::map<const TObject*, const LumiDigi*> m_rootLumiDigiMap;
00138
00140 static TDstEvent *m_dstEvt;
00141
00142 static std::map<const DstEmcShower*, TRef > m_emcShowerMap;
00143 static std::map<const TObject*, const DstEmcShower*> m_rootEmcShowerMap;
00144
00145 static std::map<const DstMdcTrack*, TRef > m_mdcTrackMap;
00146 static std::map<const TObject*, const DstMdcTrack*> m_rootMdcTrackMap;
00147
00148 static std::map<const DstMucTrack*, TRef > m_mucTrackMap;
00149 static std::map<const TObject*, const DstMucTrack*> m_rootMucTrackMap;
00150
00151 static std::map<const DstTofTrack*, TRef > m_tofTrackMap;
00152 static std::map<const TObject*, const DstTofTrack*> m_rootTofTrackMap;
00153
00154 static std::map<const DstMdcDedx*, TRef > m_mdcDedxMap;
00155 static std::map<const TObject*, const DstMdcDedx*> m_rootMdcDedxMap;
00156
00157 static std::map<const DstExtTrack*, TRef > m_extTrackMap;
00158 static std::map<const TObject*, const DstExtTrack*> m_rootExtTrackMap;
00159
00160 static std::map<const DstMdcKalTrack*, TRef > m_mdcKalTrackMap;
00161 static std::map<const TObject*, const DstMdcKalTrack*> m_rootMdcKalTrackMap;
00162
00164 static TMcEvent *m_mcEvt;
00165
00166 static std::map<const EmcMcHit*, TRef > m_emcMcHitMap;
00167 static std::map<const TObject*, const EmcMcHit*> m_rootEmcMcHitMap;
00168
00169 static std::map<const MdcMcHit*, TRef > m_mdcMcHitMap;
00170 static std::map<const TObject*, const MdcMcHit*> m_rootMdcMcHitMap;
00171
00172 static std::map<const TofMcHit*, TRef > m_tofMcHitMap;
00173 static std::map<const TObject*, const TofMcHit*> m_rootTofMcHitMap;
00174
00175 static std::map<const MucMcHit*, TRef > m_mucMcHitMap;
00176 static std::map<const TObject*, const MucMcHit*> m_rootMucMcHitMap;
00177
00178 static std::map<const McParticle*, TRef > m_mcParticleMap;
00179 static std::map<const TObject*, const McParticle*> m_rootMcParticleMap;
00180
00181
00182
00183
00185 static TTrigEvent *m_trigEvt;
00186
00187 static std::map<const TrigData*, TRef > m_trigDataMap;
00188 static std::map<const TObject*, const TrigData*> m_rootTrigDataMap;
00189
00191 static THltEvent *m_hltEvt;
00192 static std::map<const HltRaw*, TRef > m_hltRawMap;
00193 static std::map<const TObject*, const HltRaw*> m_rootHltRawMap;
00194 static std::map<const HltInf*, TRef > m_hltInfMap;
00195 static std::map<const TObject*, const HltInf*> m_rootHltInfMap;
00196 static std::map<const DstHltInf*, TRef > m_dstHltInfMap;
00197 static std::map<const TObject*, const DstHltInf*> m_rootDstHltInfMap;
00198
00200 static TRecTrackEvent *m_rectrackEvt;
00201
00202 static std::map<const RecMdcTrack*, TRef > m_recMdcTrackMap;
00203 static std::map<const TObject*, const RecMdcTrack*> m_rootRecMdcTrackMap;
00204
00205 static std::map<const RecMdcHit*, TRef > m_recMdcHitMap;
00206 static std::map<const TObject*, const RecMdcHit*> m_rootRecMdcHitMap;
00207
00208
00209
00210
00211
00212 static std::map<const RecTofTrack*, TRef > m_RecTofTrackMap;
00213 static std::map<const TObject*, const RecTofTrack*> m_rootRecTofTrackMap;
00214
00215 static std::map<const RecEmcHit*, TRef > m_recEmcHitMap;
00216 static std::map<const TObject*, const RecEmcHit*> m_rootRecEmcHitMap;
00217
00218 static std::map<const RecEmcCluster*, TRef > m_recEmcClusterMap;
00219 static std::map<const TObject*, const RecEmcCluster*> m_rootRecEmcClusterMap;
00220
00221 static std::map<const RecEmcShower*, TRef > m_recEmcShowerMap;
00222 static std::map<const TObject*, const RecEmcShower*> m_rootRecEmcShowerMap;
00223
00224 static std::map<const RecMucTrack*, TRef > m_RecMucTrackMap;
00225 static std::map<const TObject*, const RecMucTrack*> m_rootRecMucTrackMap;
00226
00227 static std::map<const RecMdcDedx*, TRef > m_recMdcDedxMap;
00228 static std::map<const TObject*, const RecMdcDedx*> m_rootRecMdcDedxMap;
00229
00230 static std::map<const RecMdcDedxHit*, TRef > m_recMdcDedxHitMap;
00231 static std::map<const TObject*, const RecMdcDedxHit*> m_rootRecMdcDedxHitMap;
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241 static std::map<const RecMdcKalTrack*, TRef > m_recMdcKalTrackMap;
00242 static std::map<const TObject*, const RecMdcKalTrack*> m_rootRecMdcKalTrackMap;
00243
00244 static std::map<const RecMdcKalHelixSeg*, TRef > m_recMdcKalHelixSegMap;
00245 static std::map<const TObject*, const RecMdcKalHelixSeg*> m_rootRecMdcKalHelixSegMap;
00246
00247 static std::map<const RecEsTime*, TRef > m_RecEvTimeMap;
00248 static std::map<const TObject*, const RecEsTime*> m_rootRecEvTimeMap;
00249
00250 static std::map<const RecZddChannel*, TRef > m_recZddChannelMap;
00251 static std::map<const TObject*, const RecZddChannel*> m_rootRecZddChannelMap;
00252
00253 static std::map<const EvtRecVeeVertex*, TRef > m_evtRecVeeVertexMap;
00254 static std::map<const TObject*, const EvtRecVeeVertex*> m_rootEvtRecVeeVertexMap;
00255
00256 static std::map<const EvtRecPi0*, TRef > m_evtRecPi0Map;
00257 static std::map<const TObject*, const EvtRecPi0*> m_rootEvtRecPi0Map;
00258
00259 static std::map<const EvtRecEtaToGG*, TRef > m_evtRecEtaToGGMap;
00260 static std::map<const TObject*, const EvtRecEtaToGG*> m_rootEvtRecEtaToGGMap;
00261
00262 static std::map<const EvtRecDTag*, TRef > m_evtRecDTagMap;
00263 static std::map<const TObject*, const EvtRecDTag*> m_rootEvtRecDTagMap;
00264
00265
00266 static TEvtRecObject* m_evtRecObject;
00267
00268 static std::map<const EvtRecTrack*, TRef> m_EvtRecTrackMap;
00269 static std::map<const TObject*, const EvtRecTrack*> m_rootEvtRecTrackMap;
00270
00271 };
00272
00273
00274 #endif