// $Id: AliJEfficiencyScanner.h,v 1.5 2012/04/19 15:19:52 jkral Exp $ //______________________________________________________________________________ // Analysis task for high pt particle correlations // author: R.Diaz, J. Rak, D.J. Kim // ALICE Group University of Jyvaskyla // Finland // // Fill the analysis containers for ESD or AOD // Note: Adapted for AliAnalysisTaskSE ////////////////////////////////////////////////////////////////////////////// #ifndef ALIJEFFCIENCYSCANNER_H #define ALIJEFFCIENCYSCANNER_H #include #include "AliJRunHeader.h" #include #include #include #include #include "AliJMCTrack.h" #include "AliJTrack.h" #include #include #include //============================================================== #ifndef AliJMaxDimBuffer #define AliJMaxDimBuffer const int kMaxDimBuffer = 300;//max length of a line read to a buffe #endif class AliJEventHeader; class AliJRunHeader; class AliJTrack; class AliAnalysisTaskSE; class TH1D; class TH2D; class AliJEfficiencyScanner : public TNamed { public: enum { kJPhysicsPrimary, kJFake, kNPrimaryStatus }; enum { kJMCTrack, kJGlobal, kJTPCOnly, kJGCG , kNTrackType }; enum { kNVtxBin=1 }; enum { kNCentBin=21}; AliJEfficiencyScanner(); AliJEfficiencyScanner(const char *name); AliJEfficiencyScanner(const AliJEfficiencyScanner& ap); AliJEfficiencyScanner& operator = (const AliJEfficiencyScanner& ap); virtual ~AliJEfficiencyScanner(); // methods to fill from AliAnalysisTaskSE virtual void UserCreateOutputObjects(); virtual void Init(); virtual void LocalInit() { Init(); } virtual void UserExec(Option_t *option); virtual void Terminate(Option_t * opt = ""); void SetJTrackList( TClonesArray * l ) { fTrackList = l ; } void SetJMCTrackList( TClonesArray * l ) { fMCTrackList = l ; } void SetJEventHeader( AliJEventHeader * h ){ fEventHeader = h ; } void SetJRunHeader( AliJRunHeader *h ){ fRunHeader = h; } void SetMBTriggMask(int mask ){ fMBTriggMask = mask; } bool IsSelected( AliJTrack * track, int itrigger )const { return AliJTrackCut::GetInstance().IsSelected(track, itrigger); } AliJTrack * GetJTrack( int i ){ return (AliJTrack*) fTrackList->At(i); } AliJMCTrack * GetJMCTrack( int i ){ return (AliJMCTrack*) fMCTrackList->At(i); } TClonesArray * GetJMCTracks() { return fMCTrackList; } TClonesArray * GetJTracks() { return fTrackList; } AliJEventHeader * GetJEventHeader(){ return fEventHeader; } AliJRunHeader * GetJRunHeader(){ return fRunHeader; } TH1 * AddTH1(TString name, TH1*h ){ h->SetName(name); h->SetTitle(name); h->Sumw2(); h->SetDirectory(gDirectory); return h; } TH1D * AddTH1D( TString name, TH1D*h){ return (TH1D*)AddTH1(name,h); } TH2D * AddTH2D( TString name, TH2D*h){ return (TH2D*)AddTH1(name,h); } private: Int_t DebugLevel(){ return 5; } inline void DEBUG(int level, int type, TString msg1, TString msg2=""){ if(DebugLevel()>level) std::cout<