]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/muon/AliCFMuonResTask1.h
Added LHC10h run list for flow analysis (Giacomo)
[u/mrichter/AliRoot.git] / PWG3 / muon / AliCFMuonResTask1.h
1 #ifndef ALICFMUONRESTASK1_H
2 #define ALICFMUONRESTASK1_H
3
4 /**************************************************************************
5  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  *                                                                        *
7  * Author: The ALICE Off-line Project.                                    *
8  * Contributors are mentioned in the code where appropriate.              *
9  *                                                                        *
10  * Permission to use, copy, modify and distribute this software and its   *
11  * documentation strictly for non-commercial purposes is hereby granted   *
12  * without fee, provided that the above copyright notice appears in all   *
13  * copies and that both the copyright notice and this permission notice   *
14  * appear in the supporting documentation. The authors make no claims     *
15  * about the suitability of this software for any purpose. It is          *
16  * provided "as is" without express or implied warranty.                  *
17  **************************************************************************/
18
19 /* $Id$ */ 
20
21 //-----------------------------------------------------------------------
22 // Author : R. Vernet, Consorzio Cometa - Catania (it)
23 //-----------------------------------------------------------------------
24 // Modification done by X. Lopez - LPC Clermont (fr)
25 //-----------------------------------------------------------------------
26
27 #include "AliAnalysisTaskSE.h"
28
29 class TH1I;
30 class TParticle ;
31 class TLorentzVector ;
32 class TFile ;
33 class AliStack ;
34 class AliCFManager;
35 class AliESDtrack;
36 class AliVParticle;
37
38 class AliCFMuonResTask1 : public AliAnalysisTaskSE {
39   public:
40
41   AliCFMuonResTask1();
42   AliCFMuonResTask1(const Char_t* name);
43   AliCFMuonResTask1& operator= (const AliCFMuonResTask1& c);
44   AliCFMuonResTask1(const AliCFMuonResTask1& c);
45   virtual ~AliCFMuonResTask1();
46
47   // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
48   void     UserExec(Option_t *option);
49   void     Terminate(Option_t *);
50    
51   // CORRECTION FRAMEWORK RELATED FUNCTIONS
52   void           SetCFManager(AliCFManager* const io) {fCFManager = io;}   // global correction manager
53   AliCFManager * GetCFManager() const {return fCFManager;}           // get corr manager
54   void           SetQAList(TList* const list) {fQAHistList = list;}
55
56   // Data types
57   Bool_t IsReadAODData()   const {return fReadAODData;}
58   void   SetReadAODData   (Bool_t flag=kTRUE) {fReadAODData=flag;}
59
60  protected:
61   
62   Bool_t          fReadAODData ;   // flag for AOD/ESD input files
63   AliCFManager   *fCFManager   ;   // pointer to the CF manager
64   TList          *fQAHistList  ;   // list of QA histograms
65   TH1I           *fHistEventsProcessed; // simple histo for monitoring the number of events processed
66   Double_t        fNevt        ;   // event counter
67   
68   Float_t Imass(Float_t e1, Float_t px1, Float_t py1, Float_t pz1,
69                 Float_t e2, Float_t px2, Float_t py2, Float_t p2) const;
70   Float_t Rap(Float_t e, Float_t pz) const;
71   Float_t Phideg(Float_t phi) const;
72   
73   Double_t CostCS(Double_t px1, Double_t py1, Double_t pz1, Double_t e1, Double_t charge1,
74                         Double_t px2, Double_t py2, Double_t pz2, Double_t e2, Double_t energy);
75   Double_t CostHE(Double_t px1, Double_t py1, Double_t pz1, Double_t e1, Double_t charge1,
76                         Double_t px2, Double_t py2, Double_t pz2, Double_t e2);
77   Double_t PhiCS(Double_t px1, Double_t py1, Double_t pz1, Double_t e1, Double_t charge1,
78                        Double_t px2, Double_t py2, Double_t pz2, Double_t e2, Double_t energy);
79   Double_t PhiHE(Double_t px1, Double_t py1, Double_t pz1, Double_t e1, Double_t charge1,
80                        Double_t px2, Double_t py2, Double_t pz2, Double_t e2, Double_t energy);
81   
82   ClassDef(AliCFMuonResTask1,1);
83 };
84
85 #endif