MpdFillDstTask.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Author: Oleg Rogachevsky
  2. // Update: 2009-10-07 17:54:37+0400
  3. // Copyright: 2009 (C) MPD coll.
  4. #ifndef ROOT_MpdFillDstTask
  5. #define ROOT_MpdFillDstTask
  6. #include "MpdEvent.h"
  7. #include "MpdPid.h"
  8. #include "FairMCEventHeader.h"
  9. #include "FairTask.h"
  10. #include "TH1F.h"
  11. #include "TH2F.h"
  12. class MpdFillDstTask : public FairTask {
  13. private:
  14. MpdEvent* fEvent;
  15. TClonesArray *fKFTracks, *fKFEctTracks; // array of kalman filter tracks
  16. TClonesArray *fMCTracks; // array of MC events to write
  17. TClonesArray *fGenTracks; // array of MC events to write
  18. TClonesArray *fTpcHits; //map with TPC hits
  19. FairMCEventHeader *fMCEventHeader; // MC event header
  20. TClonesArray *fTofMatching, *fEtofMatching; // tof information
  21. TClonesArray *fVertex; //AZ
  22. Bool_t fZdcSkeletonesSaved; //EL ( flag of saved skeletones)
  23. TH2F *fHistZdc1En; //EL ( empty skeletones of ZDC X-Y energy maps)
  24. TH2F *fHistZdc2En; //EL
  25. TClonesArray* fELossZdc1Histo; //EL ( arrays to fill empty skeletones)
  26. TClonesArray* fELossZdc2Histo; //EL
  27. TClonesArray* fELossZdc1Value; //EL ( sum of signals at ZDC)
  28. TClonesArray* fELossZdc2Value; //EL
  29. //Histograms of MC tracks
  30. TH1F *fhTrackMotherId;
  31. TH1F *fhTrackPrimaryPDG;
  32. TH2F *fhTrackVertex;
  33. TH2F *fhTruthVertex;
  34. MpdPid *fPID;
  35. Int_t fSharedHitArraySize;
  36. Short_t *fSharedHitArray;//[fTempArraySize]
  37. void FillTrackDCA(MpdTrack *track, TVector3 *recoVertex, TVector3 *mcVertex);
  38. void FillTrackPID(MpdTrack *track);
  39. void FillTrackTpcHits(Int_t index, MpdTrack *track);
  40. void CalculateSharedArrayMap();
  41. public:
  42. MpdFillDstTask(const char *name="MpdFillDstTask", const char *title="MPD Task");
  43. virtual ~MpdFillDstTask(); // Destructor
  44. virtual void SetPIDAlgorithm(MpdPid *pid){fPID = pid;};
  45. virtual void Exec(Option_t * option);
  46. virtual InitStatus Init(); //
  47. virtual void Finish(); //
  48. void Reset(); //
  49. void SetOption(Option_t *option=" ") {fOption = option; fOption.ToLower();}
  50. //KG Delete MC tracks being outside the MPD - not implemented correct!!!
  51. void CleanMC();
  52. //MpdEvent *AddEvent(Option_t * option);
  53. MpdTrack *AddPrimaryTrack();
  54. ClassDef(MpdFillDstTask,0) //fill MpdDst branch
  55. };
  56. #endif