]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalBadCells.cxx
From Salvatore
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalBadCells.cxx
1 //
2 // Bad cells analysis task.
3 //
4 // Author: M. Verweij
5
6 #include <TClonesArray.h>
7 #include <TH1F.h>
8 #include <TH2F.h>
9 #include <TList.h>
10 #include <TLorentzVector.h>
11
12 #include "AliVCluster.h"
13 #include "AliVTrack.h"
14 #include "AliLog.h"
15 #include "AliEMCALGeometry.h"
16 #include "AliVCaloCells.h"
17
18 #include "AliAnalysisTaskEmcalBadCells.h"
19
20 ClassImp(AliAnalysisTaskEmcalBadCells)
21
22 //________________________________________________________________________
23 AliAnalysisTaskEmcalBadCells::AliAnalysisTaskEmcalBadCells() : 
24   AliAnalysisTaskEmcalDev("AliAnalysisTaskEmcalBadCells"),
25   fh2AmplitudeCellNumber(0x0)
26
27 {
28   // Default constructor.
29
30
31   SetMakeGeneralHistograms(kTRUE);
32 }
33
34 //________________________________________________________________________
35 AliAnalysisTaskEmcalBadCells::AliAnalysisTaskEmcalBadCells(const char *name, Bool_t histo) : 
36   AliAnalysisTaskEmcalDev(name, histo),
37   fh2AmplitudeCellNumber(0x0)
38 {
39   // Standard constructor.
40
41   SetMakeGeneralHistograms(histo);
42 }
43
44 //________________________________________________________________________
45 AliAnalysisTaskEmcalBadCells::~AliAnalysisTaskEmcalBadCells()
46 {
47   // Destructor.
48 }
49
50 //________________________________________________________________________
51 void AliAnalysisTaskEmcalBadCells::UserCreateOutputObjects()
52 {
53   // Create user output.
54
55   AliAnalysisTaskEmcalDev::UserCreateOutputObjects();
56
57   fh2AmplitudeCellNumber = new TH2F("fh2AmplitudeCellNumber","fh2AmplitudeCellNumber",11520,0,11520,100,0,10);
58   fOutput->Add(fh2AmplitudeCellNumber);
59
60   PostData(1, fOutput); // Post data for ALL output slots > 0 here.
61 }
62
63 //________________________________________________________________________
64 Bool_t AliAnalysisTaskEmcalBadCells::FillHistograms()
65 {
66   // Fill histograms.
67
68   if(!fGeom)
69     fGeom = AliEMCALGeometry::GetInstance();
70
71   Short_t absId = -1;
72   Int_t nCells  =  0;
73
74   Int_t absIdMin = 1e6;
75   Int_t absIdMax = -1;
76
77   if (fCaloCells) {
78     if(fCaloCells->IsEMCAL()){
79       for (Int_t icell = 0; icell <  fCaloCells->GetNumberOfCells(); icell++) {
80
81         nCells++;
82
83         Double_t amp =0., time = 0., efrac = 0;
84         Int_t mclabel = -1;
85
86         fCaloCells->GetCell(icell, absId, amp, time,mclabel,efrac);
87         if(absId<absIdMin) absIdMin=absId;
88         if(absId>absIdMax) absIdMax=absId;
89
90         fh2AmplitudeCellNumber->Fill(absId,amp);
91
92       }
93       //      AliInfo(Form("%s: absId min: %d  max: %d  nCells: %d",GetName(),absIdMin,absIdMax,nCells));
94     }
95
96   }
97   
98  
99
100   return kTRUE;
101 }
102
103 //________________________________________________________________________
104 Bool_t AliAnalysisTaskEmcalBadCells::Run()
105 {
106   // Run analysis code here, if needed. It will be executed before FillHistograms().
107
108   return kTRUE;  // If return kFALSE FillHistogram() will NOT be executed.
109 }
110
111 //________________________________________________________________________
112 void AliAnalysisTaskEmcalBadCells::Terminate(Option_t *) 
113 {
114   // Called once at the end of the analysis.
115 }