2 // Bad cells analysis task.
6 #include <TClonesArray.h>
10 #include <TLorentzVector.h>
12 #include "AliVCluster.h"
13 #include "AliVTrack.h"
15 #include "AliEMCALGeometry.h"
16 #include "AliVCaloCells.h"
18 #include "AliAnalysisTaskEmcalBadCells.h"
20 ClassImp(AliAnalysisTaskEmcalBadCells)
22 //________________________________________________________________________
23 AliAnalysisTaskEmcalBadCells::AliAnalysisTaskEmcalBadCells() :
24 AliAnalysisTaskEmcal("AliAnalysisTaskEmcalBadCells"),
25 fh2AmplitudeCellNumber(0x0)
27 // Default constructor.
30 SetMakeGeneralHistograms(kTRUE);
33 //________________________________________________________________________
34 AliAnalysisTaskEmcalBadCells::AliAnalysisTaskEmcalBadCells(const char *name, Bool_t histo) :
35 AliAnalysisTaskEmcal(name, histo),
36 fh2AmplitudeCellNumber(0x0)
38 // Standard constructor.
40 SetMakeGeneralHistograms(histo);
43 //________________________________________________________________________
44 AliAnalysisTaskEmcalBadCells::~AliAnalysisTaskEmcalBadCells()
49 //________________________________________________________________________
50 void AliAnalysisTaskEmcalBadCells::UserCreateOutputObjects()
52 // Create user output.
54 AliAnalysisTaskEmcal::UserCreateOutputObjects();
56 fh2AmplitudeCellNumber = new TH2F("fh2AmplitudeCellNumber","fh2AmplitudeCellNumber",11520,0,11520,100,0,10);
57 fOutput->Add(fh2AmplitudeCellNumber);
59 PostData(1, fOutput); // Post data for ALL output slots > 0 here.
62 //________________________________________________________________________
63 Bool_t AliAnalysisTaskEmcalBadCells::FillHistograms()
68 fGeom = AliEMCALGeometry::GetInstance();
73 Int_t absIdMin = 1000000;
77 if(fCaloCells->IsEMCAL()){
78 for (Int_t icell = 0; icell < fCaloCells->GetNumberOfCells(); icell++) {
82 Double_t amp =0., time = 0., efrac = 0;
85 fCaloCells->GetCell(icell, absId, amp, time,mclabel,efrac);
86 if(absId<absIdMin) absIdMin=absId;
87 if(absId>absIdMax) absIdMax=absId;
89 fh2AmplitudeCellNumber->Fill(absId,amp);
92 // AliInfo(Form("%s: absId min: %d max: %d nCells: %d",GetName(),absIdMin,absIdMax,nCells));
102 //________________________________________________________________________
103 Bool_t AliAnalysisTaskEmcalBadCells::Run()
105 // Run analysis code here, if needed. It will be executed before FillHistograms().
107 return kTRUE; // If return kFALSE FillHistogram() will NOT be executed.
110 //________________________________________________________________________
111 void AliAnalysisTaskEmcalBadCells::Terminate(Option_t *)
113 // Called once at the end of the analysis.