]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliAnalysisTaskMuonCollisionMultiplicity.h
Updates to run with deltas (L. Cunqueiro)
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisTaskMuonCollisionMultiplicity.h
1 #ifndef ALIANALYSISTASKMUONCOLLISIONMULTIPLICITY_H
2 #define ALIANALYSISTASKMUONCOLLISIONMULTIPLICITY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /// \ingroup base
7 /// \class AliAnalysisTaskMultiplicity
8 /// \compute the number of Muons tracks as a function of the SPD tracklets multiplicity
9 /// Author Matthieu LENHARDT - SUBATECH, Nantes
10
11 #include "AliAnalysisTaskSE.h"
12
13 class AliAODEvent;
14 class AliESDEvent;
15 class AliAODTrack;
16 class AliESDMuonTrack;
17 class AliAODDimuon;
18 class TList;
19 class TArrayD;
20
21 class AliAnalysisTaskMuonCollisionMultiplicity : public AliAnalysisTaskSE
22 {
23  public:
24   AliAnalysisTaskMuonCollisionMultiplicity();
25   AliAnalysisTaskMuonCollisionMultiplicity(const AliAnalysisTaskMuonCollisionMultiplicity& rhs);
26   AliAnalysisTaskMuonCollisionMultiplicity& operator=(const AliAnalysisTaskMuonCollisionMultiplicity&);
27   AliAnalysisTaskMuonCollisionMultiplicity(const Char_t* name);
28   virtual ~AliAnalysisTaskMuonCollisionMultiplicity();
29   
30   // Implementation of interface methods
31   virtual void UserCreateOutputObjects();
32   virtual void UserExec(Option_t *option);
33   virtual void Terminate(Option_t *option);
34   virtual void NotifyRun();
35   virtual void FinishTaskOutput();
36   
37   
38   Double_t GetEtaCut()            {return fEtaCut;};        // Get the eta cut for the multiplicity estimation
39   void SetEtaCut(Double_t etaCut) {fEtaCut = etaCut;};      // Set the eta cut for the multiplicity estimation
40   
41  private:
42   
43   Bool_t fIsInit;              //< Is the class initialized?
44   
45   AliAODEvent *fAOD;                  //!< AOD Event
46   AliESDEvent *fESD;                  //!< ESD Event
47
48   Double_t fEtaCut;                  //< Cut on the eta cut of the SPD tracklets
49
50   Int_t fTrackletMultiplicity;       //< SPD tracklets multiplicity in the current event
51
52   TList *fTriggerList;               //< list of all trigger histos
53   TList *fSingleMuonList;            //< List of all single muons histos 
54   TList *fDimuonList;                //< List of all dimuons histos
55   TList *fMonteCarloList;            //< List of all histos containing MC info
56
57
58   void Init();
59   Bool_t CheckEventAOD();
60   Bool_t CheckEventESD();
61   void ComputeMultiplicity();
62   Bool_t IsUsableMuon(AliAODTrack *track);
63   Bool_t IsUsableMuon(AliESDMuonTrack *track);
64   void FillHistosAOD(Int_t triggerClass);
65   void FillHistosESD(Int_t triggerClass);
66   void FillHistosMC();
67
68   ClassDef(AliAnalysisTaskMuonCollisionMultiplicity, 1);
69 };
70     
71 #endif
72