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