]>
Commit | Line | Data |
---|---|---|
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 | ||
10 | class TRandom3; | |
11 | class AliStack; | |
12 | class TList; | |
13 | class TString; | |
14 | class TH1F; | |
15 | class TH2F; | |
16 | ||
17 | using namespace std; | |
18 | ||
19 | class 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 | ||
64 | inline 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 |