]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliGenInfoTask.h
QA ref defaut storage setter in sim and rec
[u/mrichter/AliRoot.git] / PWG1 / AliGenInfoTask.h
index f9b4cf66811d7741aa70c06bd90adad16dfad3de..8fc97e0ffa2e7592c637df666ee152e86bba6e8d 100644 (file)
 #include <AliESDfriendTrack.h>
 #include <AliTPCseed.h>
 class AliGenInfoMaker;
+class TTreeSRedirector;
+class AliMCEventHadnler;
+class TParticle;
+class AliMCInfo;
+class AliESDRecInfo;
+class AliESDEvent;
+class AliMCEvent;
+class AliComparisonObject;
 
 class AliGenInfoTask : public AliAnalysisTask {
  public:
  AliGenInfoTask();
  AliGenInfoTask(const char *name);
-  virtual ~AliGenInfoTask() {};
+  virtual ~AliGenInfoTask();
   
   virtual void   ConnectInputData(Option_t *);
   virtual void   CreateOutputObjects();
   virtual void   Exec(Option_t *option);
   virtual void   Terminate(Option_t *);
-  virtual void   SetDebugLevel(Int_t level) {fDebug = level;}
-  virtual void   SetMaxTracks(Int_t max=10) {fMaxTracks = max;}
-  
+  //
+  //
+  void ProcessMCInfo();
+  void ProcessESDInfo();
+  void ProcessComparison();
+  void DumpInfo();
+  //
+  //
+  // debug streamer part
+  //
+  TTreeSRedirector *GetDebugStreamer();
+  void       SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;}
+  void       SetDebugLevel(Int_t level) {fDebugLevel = level;}
+  Int_t      GetStreamLevel() const {return fStreamLevel;}
+  Int_t      GetDebugLevel() const {return fDebugLevel;}
+  //
+  Bool_t     AcceptParticle(TParticle *part);  
+  AliMCInfo *GetTrack(Int_t index, Bool_t force=kFALSE);
+  AliESDRecInfo *GetRecTrack(Int_t index, Bool_t force=kFALSE);
+  Bool_t     AddComparisonObject(AliComparisonObject *pObj);
  protected:
   AliGenInfoTask(const AliGenInfoTask& /*info*/);
   AliGenInfoTask& operator=(const AliGenInfoTask& /*info*/) { return *this;}
-
-  virtual Int_t FillTrackHistograms(Int_t nTracks, AliESDtrack* track, 
-                                   AliESDfriendTrack* friendTrack, 
-                                   AliTPCseed* seed);
-  AliGenInfoMaker *fGenMaker;    // gen Maker
-  Int_t         fDebug;          //  Debug flag
-  AliESDEvent*  fESD;            //! ESD
-  AliESDfriend* fESDfriend;      //! ESD friend
-  TList*        fListOfHists;    //! Output list of histograms
-  
-  Int_t         fMaxTracks;      // Max tracks in histogram
-  TH1F*         hESDTracks;      //! N ESD tracks
-  TH1F*         hGoodTracks;     //! GOOD tracks
-
-  ClassDef(AliGenInfoTask, 1); // Analysis task base class for TPC tracks and clusters
+  AliMCEvent  * fMCinfo;     //! MC event handler
+  AliESDEvent * fESD;             //! current esd event
+  //
+  TObjArray   *fCompList;        // comparison object list
+  //
+  TClonesArray *fGenTracksArray;  //clones array with filtered particles
+  TClonesArray *fGenKinkArray;    //clones array with filtered Kinks
+  TClonesArray *fGenV0Array;      //clones array with filtered V0s
+  //
+  TClonesArray *fRecTracksArray;  //clones array with filtered tracks 
+  //
+  //
+  TTreeSRedirector *fDebugStreamer;     //! debug streamer
+  Int_t  fStreamLevel;                  //  debug stream level 
+  Int_t  fDebugLevel;                   //  debug level
+  ClassDef(AliGenInfoTask, 1); // Analysis task base class for tracks
 };
 
 #endif