7a7a11dfecaa5fbf76c5a9e1456ec7df1aceddd2
[u/mrichter/AliRoot.git] / PWG3 / AliAnalysisTaskSingleMu.h
1 #include "TH2.h"
2 #include "TObjArray.h"
3
4 #include "AliAODEvent.h"
5 #include "AliAODVertex.h"
6 #include "AliAODTrack.h"
7
8 class AliAnalysisTaskSingleMu : public AliAnalysisTask {
9  public:
10   AliAnalysisTaskSingleMu(const char *name = "AliAnalysisTaskSingleMu");
11   virtual ~AliAnalysisTaskSingleMu() {}
12   
13   virtual void   ConnectInputData(Option_t *);
14   virtual void   CreateOutputObjects();
15   virtual void   Exec(Option_t *option);
16   virtual void   Terminate(Option_t *);
17
18 protected:
19   Bool_t MuonPassesCuts(AliAODTrack &muonTrack,
20                         TLorentzVector &lorVec,
21                         Int_t &trigMatch);
22
23   const AliAODVertex* GetVertex();
24   void ResetHistos();
25
26 private:
27   AliAODEvent *fAOD; //!< ESDevent object
28
29   static const Int_t fgkNhistos = 1;
30   static const Int_t fgkNTrigCuts = 4;
31
32   enum
33   {
34     kNoMatchTrig,
35     kAllPtTrig,
36     kLowPtTrig,
37     kHighPtTrig
38   };
39
40   TString trigName[fgkNTrigCuts]; //!< trigger cut names 
41
42   TObjArray * fOutputContainer; //!< output data container
43
44   TH2F *fVzVsPt[fgkNTrigCuts]; //!< Single muon spectrum
45      
46   ClassDef(AliAnalysisTaskSingleMu, 0); // Single muon analysis
47 };
48