]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliPrimaryPionSelector.h
- fixed MC routines in CaloConv task, added corresponding addtasks
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliPrimaryPionSelector.h
CommitLineData
209b710e 1#ifndef ALIPRIMARYPIONSELECTOR_H
2#define ALIPRIMARYPIONSELECTOR_H
3
4#include "AliAnalysisTaskSE.h"
5#include "AliAODv0.h"
6#include "AliESDv0.h"
7#include "AliPrimaryPionCuts.h"
8#include "AliExternalTrackParam.h"
9
10class TRandom3;
11class AliStack;
12class TList;
13class TString;
14class TH1F;
15class TH2F;
16
17using namespace std;
18
19class AliPrimaryPionSelector : public AliAnalysisTaskSE {
20
21 public:
22
23 AliPrimaryPionSelector(const char *name="PionSelector");
24 //Uncopyable & operator=(const Uncopyable&);
25
26 virtual ~AliPrimaryPionSelector(); //virtual destructor
27 void UserCreateOutputObjects();
28
29 virtual void UserExec(Option_t *option);
30 virtual void Terminate(Option_t *);
31 virtual void Init();
32
33 Bool_t ProcessEvent(AliVEvent *inputEvent,AliMCEvent *mcEvent=NULL);
34 Bool_t IsEventSelected(){return fEventIsSelected;}
35
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;}
41 // Set Options
42
43 void SetPrimaryPionCuts(const TString cut);
44 void SetPrimaryPionCuts(AliPrimaryPionCuts *cuts){fPionCuts=cuts;}
45
46 protected:
47 //selected electron arrays
48
49 Bool_t ProcessESDs();
50 AliPrimaryPionCuts *fPionCuts; // Pointer to the ConversionCut Selection
51 vector<Int_t> fPosPionsIndex;
52 vector<Int_t> fNegPionsIndex;
53 Bool_t fEventIsSelected;
54
55 private:
56 AliPrimaryPionSelector (const AliPrimaryPionSelector&); // not implemented
57 AliPrimaryPionSelector & operator=(const AliPrimaryPionSelector&); // not implemented
58
59
60
61 ClassDef(AliPrimaryPionSelector,1)
62 };
63
64inline void AliPrimaryPionSelector::SetPrimaryPionCuts(const TString cut){
65 if(fPionCuts != NULL){
66 delete fPionCuts;
67 fPionCuts=NULL;
68 }
69 if(fPionCuts == NULL){
70 fPionCuts=new AliPrimaryPionCuts("ElectronCuts","ElectronCuts");
71 fPionCuts->InitializeCutsFromCutString(cut.Data());
72 }
73}
74
75
76#endif