#ifndef ALIV0READERV1_H #define ALIV0READERV1_H #include "AliAnalysisTaskSE.h" #include "AliAODv0.h" #include "AliESDv0.h" #include "AliConversionPhotonCuts.h" #include "AliConvEventCuts.h" #include "AliExternalTrackParam.h" #include "TObject.h" #include "AliMCEvent.h" // for CF #include "AliESDEvent.h" #include "AliKFParticle.h" #include "TParticle.h" #include #include "AliESDpid.h" #include "TF1.h" #include "TRandom3.h" #include "AliAnalysisManager.h" class AliConversionPhotonBase; class TRandom3; class AliStack; class TList; class AliKFConversionPhoton; class TString; class TClonesArray; class TH1F; class TH2F; class AliAODConversionPhoton; using namespace std; class AliV0ReaderV1 : public AliAnalysisTaskSE { public: AliV0ReaderV1(const char *name="V0ReaderV1"); virtual ~AliV0ReaderV1(); //virtual destructor void UserCreateOutputObjects(); virtual Bool_t Notify(); virtual void UserExec(Option_t *option); virtual void Terminate(Option_t *); virtual void Init(); Bool_t ProcessEvent(AliVEvent *inputEvent,AliMCEvent *mcEvent=NULL); Bool_t IsEventSelected(){return fEventIsSelected;} // Return Reconstructed Gammas TClonesArray *GetReconstructedGammas(){return fConversionGammas;} Int_t GetNReconstructedGammas(){if(fConversionGammas){return fConversionGammas->GetEntriesFast();}else{return 0;}} AliConversionPhotonCuts *GetConversionCuts(){return fConversionCuts;} AliConvEventCuts *GetEventCuts(){return fEventCuts;} TList *GetCutHistograms(){if(fConversionCuts){return fConversionCuts->GetCutHistograms();}return NULL;} TList *GetEventCutHistograms(){if(fEventCuts){return fEventCuts->GetCutHistograms();}return NULL;} // Set Options void CountTracks(); void SetConversionCuts(const TString cut); void SetConversionCuts(AliConversionPhotonCuts *cuts){fConversionCuts=cuts;} void SetEventCuts(const TString cut); void SetEventCuts(AliConvEventCuts *cuts){fEventCuts=cuts;} void SetUseOwnXYZCalculation(Bool_t flag){fUseOwnXYZCalculation=flag;} void SetUseConstructGamma(Bool_t flag){fUseConstructGamma=flag;} void SetUseAODConversionPhoton(Bool_t b){if(b){cout<<"Setting Outputformat to AliAODConversionPhoton "<InitializeCutsFromCutString(cut.Data()); } } inline void AliV0ReaderV1::SetEventCuts(const TString cut){ if(fEventCuts != NULL){ delete fEventCuts; fEventCuts=NULL; } if(fEventCuts == NULL){ fEventCuts=new AliConvEventCuts("V0ReaderEventCuts","V0ReaderEventCuts"); fEventCuts->InitializeCutsFromCutString(cut.Data()); } } #endif