]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ACORDE/macros/AnalysisMacros/Local/AliAnalysisTaskAcorde.h
Adding macros for ACORDE: sim&rec, read raw-data,esd & hits (*.C macros and AliAnalys...
[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 histograms 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_cxx\r
24 #define AliAnalysisTaskAcorde_cxx\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 (cosmicTree)\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 *cosmicTree;                    //! TTree with some information of matched tracks\r
49   Int_t nTracks;                        //! # of recontructed tracks\r
50   Int_t nMatchTracks;                   //! # of matched tracks\r
51 \r
52 \r
53   // Cut definitions\r
54 \r
55   const Int_t minTPCclusters;           //! cut in clusters\r
56   const Float_t minTrackDist;           //! cut in distance\r
57   const Float_t minCutDir;              //! minimum cut\r
58 \r
59   Float_t xAco;                         //! x-coordinate of extrapolated track to ACORDE\r
60   Float_t yAco;                         //! y-coordinate of extrapolated track to ACORDE\r
61   Float_t zAco;                         //! z-coordinate of extrapolated track to ACORDE\r
62   Int_t trigger;                        //! trigger label\r
63   TString ActiveTriggerDetector;        //! detector string     \r
64 \r
65   Int_t nSingleTracks;                  //! no. of single track\r
66   Int_t nMatchedTracks;                 //! no. of matched track\r
67   \r
68 \r
69   TList *histo;                         //! list of histograms\r
70   TH1F *acordeHitsAll;                  //! hits of acorde\r
71   TH1F *acordeMultiAll;                 //! multi. of acorde modules\r
72   TH1F *acordeHitsTPC;                  //! hits of acorde (if track)\r
73   TH1F *acordeMultiTPC;                 //! multi. of acorde modules (if track)\r
74   TH1F *nTracksMatched;                 //! matched tracks\r
75   TH1F *ntracks;                        //! 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