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 AliAnalysisTaskEmcalDev("AliAnalysisTaskEmcalBadCells"),
25 fh2AmplitudeCellNumber(0x0)
28 // Default constructor.
31 SetMakeGeneralHistograms(kTRUE);
34 //________________________________________________________________________
35 AliAnalysisTaskEmcalBadCells::AliAnalysisTaskEmcalBadCells(const char *name, Bool_t histo) :
36 AliAnalysisTaskEmcalDev(name, histo),
37 fh2AmplitudeCellNumber(0x0)
39 // Standard constructor.
41 SetMakeGeneralHistograms(histo);
44 //________________________________________________________________________
45 AliAnalysisTaskEmcalBadCells::~AliAnalysisTaskEmcalBadCells()
50 //________________________________________________________________________
51 void AliAnalysisTaskEmcalBadCells::UserCreateOutputObjects()
53 // Create user output.
55 AliAnalysisTaskEmcalDev::UserCreateOutputObjects();
57 fh2AmplitudeCellNumber = new TH2F("fh2AmplitudeCellNumber","fh2AmplitudeCellNumber",11520,0,11520,100,0,10);
58 fOutput->Add(fh2AmplitudeCellNumber);
60 PostData(1, fOutput); // Post data for ALL output slots > 0 here.
63 //________________________________________________________________________
64 Bool_t AliAnalysisTaskEmcalBadCells::FillHistograms()
69 fGeom = AliEMCALGeometry::GetInstance();
78 if(fCaloCells->IsEMCAL()){
79 for (Int_t icell = 0; icell < fCaloCells->GetNumberOfCells(); icell++) {
83 Double_t amp =0., time = 0., efrac = 0;
86 fCaloCells->GetCell(icell, absId, amp, time,mclabel,efrac);
87 if(absId<absIdMin) absIdMin=absId;
88 if(absId>absIdMax) absIdMax=absId;
90 fh2AmplitudeCellNumber->Fill(absId,amp);
93 // AliInfo(Form("%s: absId min: %d max: %d nCells: %d",GetName(),absIdMin,absIdMax,nCells));
103 //________________________________________________________________________
104 Bool_t AliAnalysisTaskEmcalBadCells::Run()
106 // Run analysis code here, if needed. It will be executed before FillHistograms().
108 return kTRUE; // If return kFALSE FillHistogram() will NOT be executed.
111 //________________________________________________________________________
112 void AliAnalysisTaskEmcalBadCells::Terminate(Option_t *)
114 // Called once at the end of the analysis.