]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAQA.h
up from Salvatore
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskSAQA.h
1 #ifndef ALIANALYSISTASKSAQA_H
2 #define ALIANALYSISTASKSAQA_H
3
4 // $Id$
5
6 class TH1;
7 class TH2;
8 class TH3;
9
10 #include "AliAnalysisTaskEmcalJet.h"
11
12 class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet {
13  public:
14   AliAnalysisTaskSAQA();
15   AliAnalysisTaskSAQA(const char *name);
16   virtual ~AliAnalysisTaskSAQA();
17
18   void                        UserCreateOutputObjects();
19   void                        Terminate(Option_t *option);
20
21   void                        SetCellEnergyCut(Float_t cut)                        { fCellEnergyCut      = cut        ; }
22   void                        SetParticleLevel(Bool_t s)                           { fParticleLevel      = s          ; }
23   void                        SetMC(Bool_t m)                                      { fIsMC               = m          ; }
24
25  protected:
26
27   Bool_t                      FillHistograms()                                              ;
28   Bool_t                      RetrieveEventObjects()                                        ;
29   Int_t                       DoCellLoop(Float_t &sum, Float_t &sum_cut)                    ;
30   Float_t                     DoTrackLoop()                                                 ;
31   Float_t                     DoClusterLoop()                                               ;
32   void                        DoJetLoop()                                                   ;
33   Double_t                    GetFcross(AliVCluster *cluster, AliVCaloCells *cells)         ;
34
35   Float_t                     fCellEnergyCut;            // Energy cell cut
36   Bool_t                      fParticleLevel;            // Set particle level analysis
37   Bool_t                      fIsMC;                     // Trigger, MC analysis
38   Int_t                       fNclusters;                //!Number of accepted clusters in the event
39   Int_t                       fNtracks;                  //!Number of accepted tracks in the event
40   Int_t                       fNjets;                    //!Number of accepted jets in the event
41  
42   // General histograms
43   TH2                        *fHistTracksCent;           //!Number of tracks vs. centrality
44   TH2                        *fHistClusCent;             //!Number of clusters vs. centrality
45   TH2                        *fHistJetsCent;             //!Number of jets vs. centrality
46   TH2                        *fHistClusTracks;           //!Number of clusters vs. number of tracks
47   TH2                        *fHistJetsParts;            //!Number of jets vs. number of particles (tracks+clusters)
48   TH2                        *fHistCellsCent;            //!Number of cells vs. centrality
49   TH2                        *fHistCellsTracks;          //!Number of cells vs. number of tracks
50
51   // Tracks
52   TH1                        *fHistTrNegativeLabels;     //!Percentage of negative label tracks
53   TH1                        *fHistTrZeroLabels;         //!Percentage of tracks with label=0
54   TH3                        *fHistTrPhiEtaPt[4][4];     //!Phi-Eta-Pt distribution of tracks
55   TH3                        *fHistTrPhiEtaPtZeroLab[4]; //!Phi-Eta-Pt distribution of tracks with label=0
56   TH2                        *fHistTrEmcPhiEta[4];       //!Phi-Eta emcal propagated distribution of tracks
57   TH1                        *fHistTrEmcPt[4];           //!Phi-Eta emcal propagated distribution of tracks
58   TH2                        *fHistTrPhiEtaNonProp[4];   //!Phi-Eta distribution of non emcal propagated tracks
59   TH2                        *fHistDeltaEtaPt[4];        //!Eta-EtaProp vs. Pt
60   TH2                        *fHistDeltaPhiPt[4];        //!Phi-PhiProp vs. Pt
61   TH2                        *fHistDeltaPtvsPt[4];       //!Pt-PtProp vs. Pt
62
63   // Clusters
64   TH3                        *fHistClusPhiEtaEnergy[4];  //!Phi-Eta-Energy distribution of clusters
65   TH2                        *fHistNCellsEnergy;         //!Number of cells vs. energy of cluster
66   TH2                        *fHistFcrossEnergy;         //!Fcross vs. energy of cluster
67   TH2                        *fHistClusTimeEnergy;       //!Time vs. energy of cluster
68   TH1                        *fHistClusMCEnergyFraction[4];//!MC energy fraction (embedding)
69
70   // Jets
71   TH3                        *fHistJetsPhiEtaPt[4];      //!Phi-Eta distribution of jets
72   TH2                        *fHistJetsPtArea[4];        //!Pt vs. area of jets
73
74   // EMCAL Cells
75   TH2                        *fHistCellsAbsIdEnergy;    //!Energy spectrum of cells
76
77   // Had corr QA
78   TH2                        *fHistChVSneCells;          //!Charged vs. neutral (cells) energy
79   TH2                        *fHistChVSneClus;           //!Charged vs. neutral (clusters) energy
80   TH2                        *fHistChVSneCorrCells;      //!Charged vs. neutral (corrected cells) energy
81
82  private:
83   AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&);            // not implemented
84   AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
85
86   ClassDef(AliAnalysisTaskSAQA, 18) // Quality task for Emcal analysis
87 };
88 #endif