1 #ifndef ALIPRIMARYPIONSELECTOR_H
2 #define ALIPRIMARYPIONSELECTOR_H
4 #include "AliAnalysisTaskSE.h"
7 #include "AliPrimaryPionCuts.h"
8 #include "AliExternalTrackParam.h"
19 class AliPrimaryPionSelector : public AliAnalysisTaskSE {
23 AliPrimaryPionSelector(const char *name="PionSelector");
24 //Uncopyable & operator=(const Uncopyable&);
26 virtual ~AliPrimaryPionSelector(); //virtual destructor
27 void UserCreateOutputObjects();
29 virtual void UserExec(Option_t *option);
30 virtual void Terminate(Option_t *);
33 Bool_t ProcessEvent(AliVEvent *inputEvent,AliMCEvent *mcEvent=NULL);
34 Bool_t IsEventSelected(){return fEventIsSelected;}
36 // Return selected electron/positron array
37 vector <Int_t> GetReconstructedNegPionIndex(){ return fNegPionsIndex; }
38 vector <Int_t> GetReconstructedPosPionIndex(){ return fPosPionsIndex; }
39 AliPrimaryPionCuts *GetPrimaryPionCuts(){ return fPionCuts; }
40 TList *GetCutHistograms(){ if(fPionCuts){return fPionCuts->GetCutHistograms();} return NULL;}
43 void SetPrimaryPionCuts(const TString cut);
44 void SetPrimaryPionCuts(AliPrimaryPionCuts *cuts){fPionCuts=cuts;}
47 //selected electron arrays
50 AliPrimaryPionCuts *fPionCuts; // Pointer to the ConversionCut Selection
51 vector<Int_t> fPosPionsIndex;
52 vector<Int_t> fNegPionsIndex;
53 Bool_t fEventIsSelected;
56 AliPrimaryPionSelector (const AliPrimaryPionSelector&); // not implemented
57 AliPrimaryPionSelector & operator=(const AliPrimaryPionSelector&); // not implemented
61 ClassDef(AliPrimaryPionSelector,1)
64 inline void AliPrimaryPionSelector::SetPrimaryPionCuts(const TString cut){
65 if(fPionCuts != NULL){
69 if(fPionCuts == NULL){
70 fPionCuts=new AliPrimaryPionCuts("ElectronCuts","ElectronCuts");
71 fPionCuts->InitializeCutsFromCutString(cut.Data());