ROOT logo
#ifndef ALIPRIMARYPIONSELECTOR_H
#define ALIPRIMARYPIONSELECTOR_H

#include "AliAnalysisTaskSE.h"
#include "AliAODv0.h"
#include "AliESDv0.h"
#include "AliPrimaryPionCuts.h"
#include "AliExternalTrackParam.h"

class TRandom3;
class AliStack;
class TList;
class TString;
class TH1F;
class TH2F;

using namespace std;

class AliPrimaryPionSelector : public AliAnalysisTaskSE {

 public:

   AliPrimaryPionSelector(const char *name="PionSelector");
   //Uncopyable & operator=(const Uncopyable&);

   virtual ~AliPrimaryPionSelector();                            //virtual destructor
   void UserCreateOutputObjects();

   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 selected electron/positron array
   vector <Int_t> GetReconstructedNegPionIndex(){ return fNegPionsIndex; }
   vector <Int_t> GetReconstructedPosPionIndex(){ return fPosPionsIndex; }
   AliPrimaryPionCuts *GetPrimaryPionCuts(){   return fPionCuts; }
   TList *GetCutHistograms(){ if(fPionCuts){return fPionCuts->GetCutHistograms();} return NULL;}
   // Set Options

   void SetPrimaryPionCuts(const TString cut);
   void SetPrimaryPionCuts(AliPrimaryPionCuts *cuts){fPionCuts=cuts;}

 protected:
   //selected electron arrays
   
   Bool_t ProcessESDs();
   AliPrimaryPionCuts *fPionCuts; // Pointer to the ConversionCut Selection
   vector<Int_t> fPosPionsIndex;
   vector<Int_t> fNegPionsIndex;
   Bool_t fEventIsSelected;

 private:
   AliPrimaryPionSelector (const AliPrimaryPionSelector&); // not implemented
   AliPrimaryPionSelector & operator=(const AliPrimaryPionSelector&); // not implemented


   
   ClassDef(AliPrimaryPionSelector,1)
      };

inline void AliPrimaryPionSelector::SetPrimaryPionCuts(const TString cut){
   if(fPionCuts != NULL){
      delete fPionCuts;
      fPionCuts=NULL;
   }
   if(fPionCuts == NULL){
      fPionCuts=new AliPrimaryPionCuts("ElectronCuts","ElectronCuts");
      fPionCuts->InitializeCutsFromCutString(cut.Data());
   }
}


#endif
 AliPrimaryPionSelector.h:1
 AliPrimaryPionSelector.h:2
 AliPrimaryPionSelector.h:3
 AliPrimaryPionSelector.h:4
 AliPrimaryPionSelector.h:5
 AliPrimaryPionSelector.h:6
 AliPrimaryPionSelector.h:7
 AliPrimaryPionSelector.h:8
 AliPrimaryPionSelector.h:9
 AliPrimaryPionSelector.h:10
 AliPrimaryPionSelector.h:11
 AliPrimaryPionSelector.h:12
 AliPrimaryPionSelector.h:13
 AliPrimaryPionSelector.h:14
 AliPrimaryPionSelector.h:15
 AliPrimaryPionSelector.h:16
 AliPrimaryPionSelector.h:17
 AliPrimaryPionSelector.h:18
 AliPrimaryPionSelector.h:19
 AliPrimaryPionSelector.h:20
 AliPrimaryPionSelector.h:21
 AliPrimaryPionSelector.h:22
 AliPrimaryPionSelector.h:23
 AliPrimaryPionSelector.h:24
 AliPrimaryPionSelector.h:25
 AliPrimaryPionSelector.h:26
 AliPrimaryPionSelector.h:27
 AliPrimaryPionSelector.h:28
 AliPrimaryPionSelector.h:29
 AliPrimaryPionSelector.h:30
 AliPrimaryPionSelector.h:31
 AliPrimaryPionSelector.h:32
 AliPrimaryPionSelector.h:33
 AliPrimaryPionSelector.h:34
 AliPrimaryPionSelector.h:35
 AliPrimaryPionSelector.h:36
 AliPrimaryPionSelector.h:37
 AliPrimaryPionSelector.h:38
 AliPrimaryPionSelector.h:39
 AliPrimaryPionSelector.h:40
 AliPrimaryPionSelector.h:41
 AliPrimaryPionSelector.h:42
 AliPrimaryPionSelector.h:43
 AliPrimaryPionSelector.h:44
 AliPrimaryPionSelector.h:45
 AliPrimaryPionSelector.h:46
 AliPrimaryPionSelector.h:47
 AliPrimaryPionSelector.h:48
 AliPrimaryPionSelector.h:49
 AliPrimaryPionSelector.h:50
 AliPrimaryPionSelector.h:51
 AliPrimaryPionSelector.h:52
 AliPrimaryPionSelector.h:53
 AliPrimaryPionSelector.h:54
 AliPrimaryPionSelector.h:55
 AliPrimaryPionSelector.h:56
 AliPrimaryPionSelector.h:57
 AliPrimaryPionSelector.h:58
 AliPrimaryPionSelector.h:59
 AliPrimaryPionSelector.h:60
 AliPrimaryPionSelector.h:61
 AliPrimaryPionSelector.h:62
 AliPrimaryPionSelector.h:63
 AliPrimaryPionSelector.h:64
 AliPrimaryPionSelector.h:65
 AliPrimaryPionSelector.h:66
 AliPrimaryPionSelector.h:67
 AliPrimaryPionSelector.h:68
 AliPrimaryPionSelector.h:69
 AliPrimaryPionSelector.h:70
 AliPrimaryPionSelector.h:71
 AliPrimaryPionSelector.h:72
 AliPrimaryPionSelector.h:73
 AliPrimaryPionSelector.h:74
 AliPrimaryPionSelector.h:75
 AliPrimaryPionSelector.h:76