1 #ifndef ALIDALITZELECTRONSELECTOR_H
2 #define ALIDALITZELECTRONSELECTOR_H
4 #include "AliAnalysisTaskSE.h"
7 #include "AliDalitzElectronCuts.h"
8 #include "AliExternalTrackParam.h"
19 class AliDalitzElectronSelector : public AliAnalysisTaskSE {
23 AliDalitzElectronSelector(const char *name="ElectronSelector");
24 //Uncopyable & operator=(const Uncopyable&);
26 virtual ~AliDalitzElectronSelector(); //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> GetReconstructedElectronsIndex(){ return fElectronsIndex; }
38 vector <Int_t> GetReconstructedPositronsIndex(){ return fPositronsIndex; }
39 AliDalitzElectronCuts *GetDalitzElectronCuts(){ return fElectronCuts; }
40 TList *GetCutHistograms(){ if(fElectronCuts){return fElectronCuts->GetCutHistograms();} return NULL;}
43 void SetDalitzElectronCuts(const TString cut);
44 void SetDalitzElectronCuts(AliDalitzElectronCuts *cuts){fElectronCuts=cuts;}
47 //selected electron arrays
50 AliDalitzElectronCuts *fElectronCuts; // Pointer to the ConversionCut Selection
51 vector<Int_t> fPositronsIndex;
52 vector<Int_t> fElectronsIndex;
53 Bool_t fEventIsSelected;
56 AliDalitzElectronSelector (const AliDalitzElectronSelector&); // not implemented
57 AliDalitzElectronSelector & operator=(const AliDalitzElectronSelector&); // not implemented
61 ClassDef(AliDalitzElectronSelector,1)
64 inline void AliDalitzElectronSelector::SetDalitzElectronCuts(const TString cut){
65 if(fElectronCuts != NULL){
69 if(fElectronCuts == NULL){
70 fElectronCuts=new AliDalitzElectronCuts("ElectronCuts","ElectronCuts");
71 fElectronCuts->InitializeCutsFromCutString(cut.Data());