2011 track cuts
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalPhysicsSelectionTask.h
1 #ifndef ALIEMCALPHYSICSSELECTIONTASK_H
2 #define ALIEMCALPHYSICSSELECTIONTASK_H
3
4 // $Id$
5
6 #include "AliPhysicsSelectionTask.h"
7
8 class AliEmcalPhysicsSelection;
9 class TH1;
10
11 class AliEmcalPhysicsSelectionTask : public AliPhysicsSelectionTask {
12  public:
13   AliEmcalPhysicsSelectionTask();
14   AliEmcalPhysicsSelectionTask(const char* opt);
15   virtual ~AliEmcalPhysicsSelectionTask() {};
16
17   virtual void   UserExec(const Option_t *opt);
18   virtual void   UserCreateOutputObjects();
19   virtual void   Terminate(Option_t*);
20
21   Int_t          GetNCalled() const         { return fNCalled;    }
22   Int_t          GetNAccepted() const       { return fNAccepted;  }
23   void           SetDoWriteHistos(Bool_t b) { fDoWriteHistos = b; }
24   void           SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB) 
25                   { static_cast<AliEmcalPhysicsSelection*>(fPhysicsSelection)->SetTriggers(offlineTriggerMask); }
26
27  protected:
28   Bool_t         fDoWriteHistos; //=true then write output
29   Int_t          fNCalled;       //!how often was the PS called
30   Int_t          fNAccepted;     //!how often was the event accepted
31   TH1           *fHAcc;          //!acceptance histo
32   TH1           *fHEvtTypes;     //!event types histo
33
34  private:
35   AliEmcalPhysicsSelectionTask(const AliEmcalPhysicsSelectionTask&);
36   AliEmcalPhysicsSelectionTask& operator=(const AliEmcalPhysicsSelectionTask&);
37
38   ClassDef(AliEmcalPhysicsSelectionTask, 2); // Emcal physics selection task
39 };
40 #endif