]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ACORDE/macros/AnalysisMacros/Local/AliAnalysisTaskAcorde.h
Update master to aliroot
[u/mrichter/AliRoot.git] / ACORDE / macros / AnalysisMacros / Local / AliAnalysisTaskAcorde.h
1 /////////////////////////////////////////////////////////////////////////////
2 //
3 // AliAnalysisTaskAcorde class
4 //
5 // Description:
6 //
7 //      Reads the information of ACORDE-ESD
8 //      Also it is implemented a simple matching between tracks
9 //      to look for the extrapolation of them to ACORDE modules
10 //
11 //      Create some fHistograms and one tree with the information
12 //      of the matching tracks
13 //
14 //  Author: Mario Rodríguez Cahuantzi
15 //              <mario.rocah@gmail.com>
16 //              <mrodrigu@mail.cern.ch>
17 //
18 //  Created: June 30th. 2010 @ FCFM - BUAP, Puebla, MX
19 //  Last update: created
20 //
21 /////////////////////////////////////////////////////////////////////////////
22
23 #ifndef ALIANALYSISTASKACORDE_H
24 #define ALIANALYSISTASKACORDE_H
25
26 class TH2F;
27 class TH1F;
28 class AliESDEvent;
29 class TArrayI;
30 class TList;
31 #include "AliAnalysisTask.h"
32
33 class AliAnalysisTaskAcorde : public AliAnalysisTask {
34  public:
35   AliAnalysisTaskAcorde(const char *name = "AliAnalysisTaskAcorde");
36   virtual ~AliAnalysisTaskAcorde();             //! Destructor fo task
37   
38   virtual void   ConnectInputData(Option_t *);  //! Connects input data to class analysis
39   virtual void   CreateOutputObjects();         //! Creates output object (fCosmicTree)
40   virtual void   Exec(Option_t *option);        //! Execution class
41   virtual void   Terminate(Option_t *);         //! Terminate class 
42
43  private:
44
45
46   AliESDEvent *fESD;                    //! ESD object
47   TArrayI      *fPair;                  //! Pair track connected (up & down)
48   TTree *fCosmicTree;                   //! TTree with some information of matched tracks
49   Int_t fnTracks;                       //! # of recontructed tracks
50   Int_t fNMatchTracks;                  //! # of matched tracks
51
52
53   // Cut definitions
54
55   const Int_t fkMinTPCclusters;                 //! cut in clusters
56   const Float_t fkMinTrackDist;         //! cut in distance
57   const Float_t fkMinCutDir;            //! minimum cut
58
59   Float_t fXAco;                                //! x-coordinate of extrapolated track to ACORDE
60   Float_t fYAco;                                //! y-coordinate of extrapolated track to ACORDE
61   Float_t fZAco;                                //! z-coordinate of extrapolated track to ACORDE
62   Int_t fTrigger;                       //! fTrigger label
63   TString fActiveTriggerDetector;       //! detector string     
64
65   Int_t fNSingleTracks;                 //! no. of single track
66   Int_t fNMatchedTracks;                        //! no. of matched track
67   
68
69   TList *fHisto;                                //! list of fHistograms
70   TH1F *fAcordeHitsAll;                 //! hits of acorde
71   TH1F *fAcordeMultiAll;                        //! multi. of acorde modules
72   TH1F *fAcordeHitsTPC;                 //! hits of acorde (if track)
73   TH1F *fAcordeMultiTPC;                        //! multi. of acorde modules (if track)
74   TH1F *fNTracksMatched;                        //! matched tracks
75   TH1F *fNTracks;                       //! no. of tracks
76   TH2F *fTracksToAcorde;                //! tracks extrapolated to acorde.
77
78   AliAnalysisTaskAcorde(const AliAnalysisTaskAcorde&); // not implemented
79   AliAnalysisTaskAcorde& operator=(const AliAnalysisTaskAcorde&); // not implemented
80   
81   ClassDef(AliAnalysisTaskAcorde, 1); // example of analysis
82 };
83
84 #endif