fd37d278bfe5662f75558c761ee05d229f5b48d0
[u/mrichter/AliRoot.git] / PWG3 / muon / AliAnalysisTaskSingleMu.h
1 /// \ingroup "PWG3muon"
2 /// \class AliAnalysisTaskSingleMu
3 /// \brief Analysis task for single muons in the spectrometer
4 ///
5 //  Author Diego Stocco
6
7 #include "AliAODEvent.h"
8 #include "AliAODTrack.h"
9
10 class AliAnalysisTaskSingleMu : public AliAnalysisTask {
11  public:
12   AliAnalysisTaskSingleMu(const char *name = "AliAnalysisTaskSingleMu");
13   virtual ~AliAnalysisTaskSingleMu() {}
14   
15   virtual void   ConnectInputData(Option_t *);
16   virtual void   CreateOutputObjects();
17   virtual void   Exec(Option_t *option);
18   virtual void   Terminate(Option_t *);
19
20  protected:
21   Bool_t FillTrackVariables(AliAODTrack &muonTrack);
22   
23   void InitVariables();
24
25  private:
26   AliAnalysisTaskSingleMu(const AliAnalysisTaskSingleMu&);
27   AliAnalysisTaskSingleMu& operator=(const AliAnalysisTaskSingleMu&);
28
29   AliAODEvent *fAOD; //!< ESDevent object
30
31   TTree *fResults; //!< Tree with results
32
33   enum {
34     kVarPt,     //!< Muon pt
35     kVarY,      //!< Muon rapidity
36     kVarPhi,    //!< Muon phi
37     kVarVz,     //!< Primary vertex longitudinal position
38     kVarDCA,    //!< Transverse distance at vertex
39     kNfloatVars
40   };
41
42   enum {
43     kVarTrig,   //!< Matched trigger
44     kNintVars
45   };
46   
47
48   Float_t* fVarFloat; //!< Array of float variables
49   Int_t* fVarInt;     //!< Array of int variables
50   
51   TString* fFloatVarName; //!< Float variable names for branches
52   TString* fIntVarName;   //!< Intt variable names for branches
53
54   ClassDef(AliAnalysisTaskSingleMu, 0); // Single muon analysis
55 };
56