9 #include <TClonesArray.h>
12 #include <TLorentzVector.h>
15 #include "AliEMCALGeometry.h"
17 #include "AliVCluster.h"
18 #include "AliVParticle.h"
19 #include "AliVTrack.h"
32 fHistPtEMCALvsCent(0),
35 fHistDeltaScalevsCent(0),
36 fHistScaleEmcalvsCent(0),
37 fHistScale2EmcalvsCent(0),
38 fHistDeltaScale2EmcalvsCent(0),
39 fHistChScalevsCent(0),
40 fHistChScale2EmcalvsCent(0),
41 fHistPtTPCvsNtrack(0),
42 fHistPtEMCALvsNtrack(0),
44 fHistScalevsNtrack(0),
45 fHistDeltaScalevsNtrack(0),
46 fHistScaleEmcalvsNtrack(0),
47 fHistScale2EmcalvsNtrack(0),
48 fHistChScalevsNtrack(0),
49 fHistChScale2EmcalvsNtrack(0),
50 fHistTrackPtvsCent(0),
51 fHistClusterPtvsCent(0),
53 fHistClusterEtaPhi(0),
54 fHistScalevsScale2Emcal(0),
55 fHistScalevsScaleEmcal(0),
56 fHistScaleEmcalvsScale2Emcal(0),
62 SetMakeGeneralHistograms(kTRUE);
72 fHistPtEMCALvsCent(0),
75 fHistDeltaScalevsCent(0),
76 fHistScaleEmcalvsCent(0),
77 fHistScale2EmcalvsCent(0),
78 fHistDeltaScale2EmcalvsCent(0),
79 fHistChScalevsCent(0),
80 fHistChScale2EmcalvsCent(0),
81 fHistPtTPCvsNtrack(0),
82 fHistPtEMCALvsNtrack(0),
84 fHistScalevsNtrack(0),
85 fHistDeltaScalevsNtrack(0),
86 fHistScaleEmcalvsNtrack(0),
87 fHistScale2EmcalvsNtrack(0),
88 fHistChScalevsNtrack(0),
89 fHistChScale2EmcalvsNtrack(0),
90 fHistTrackPtvsCent(0),
91 fHistClusterPtvsCent(0),
93 fHistClusterEtaPhi(0),
94 fHistScalevsScale2Emcal(0),
95 fHistScalevsScaleEmcal(0),
96 fHistScaleEmcalvsScale2Emcal(0),
119 fHistPtTPCvsCent =
new TH2F(
"fHistPtTPCvsCent",
"fHistPtTPCvsCent", 101, -1, 100, 750, 0, 1500);
131 fHistEtvsCent =
new TH2F(
"fHistEtvsCent",
"fHistEtvsCent", 101, -1, 100, 250, 0, 500);
133 fHistEtvsCent->GetYaxis()->SetTitle(
"#sum E_{T,cluster} GeV");
139 fHistScalevsCent->GetYaxis()->SetTitle(
"s_{TPC} = (#sum E_{T,cluster} + #sum p_{T,track}^{TPC}) / #sum p_{T,track}^{TPC}");
191 fHistEtvsNtrack =
new TH2F(
"fHistEtvsNtrack",
"fHistEtvsNtrack", 800, 0, 4000, 500, 0, 1000);
245 fHistTrackEtaPhi =
new TH2F(
"fHistTrackEtaPhi",
"fHistTrackEtaPhi", 100, -1.0, 1.0, 101, 0, 2.02*TMath::Pi());
251 fHistClusterEtaPhi =
new TH2F(
"fHistClusterEtaPhi",
"fHistClusterEtaPhi", 100, -1.0, 1.0, 101, 0, 2.02*TMath::Pi());
294 Double_t EmcalMinPhi =
fGeom->GetArm1PhiMin() * TMath::DegToRad();
295 Double_t EmcalMaxPhi =
fGeom->GetArm1PhiMax() * TMath::DegToRad();
300 const Double_t EmcalWidth = (EmcalMaxPhi-EmcalMinPhi)/2.0;
309 AliVTrack *track = NULL;
313 ptTPC += track->Pt();
314 if ((track->Phi() > (EmcalMaxPhi+EmcalWidth)) || (track->Phi() < (EmcalMinPhi-EmcalWidth)))
continue;
315 ptEMCAL2 += track->Pt();
316 if ((track->Phi() > EmcalMaxPhi) || (track->Phi() < EmcalMinPhi))
continue;
317 ptEMCAL += track->Pt();
327 AliVCluster *
c = NULL;
329 TLorentzVector nPart;
330 c->GetMomentum(nPart,
fVertex);
340 if (ptEMCAL > 0 && Et > 0 && ptTPC > 0)
345 scalecalcemcal = (Et+ptEMCAL)/ptEMCAL;
349 scalecalcemcal2 = 2*(Et+ptEMCAL)/ptEMCAL2;
350 Chscalecalcemcal2 = 2*ptEMCAL/ptEMCAL2;}
387 Double_t EmcalMinPhi =
fGeom->GetArm1PhiMin() * TMath::DegToRad();
388 Double_t EmcalMaxPhi =
fGeom->GetArm1PhiMax() * TMath::DegToRad();
394 fEmcalArea = (EmcalMaxPhi - EmcalMinPhi) * (EmcalMinEta - EmcalMaxEta);
398 AliError(Form(
"%s: No particle container found! Assuming tpc area = 1...",GetName()));
406 if (TpcMaxPhi > TMath::Pi()*2) TpcMaxPhi = TMath::Pi()*2;
407 if (TpcMinPhi < 0) TpcMinPhi = 0;
409 fTpcArea = (TpcMaxPhi - TpcMinPhi) * (EmcalMinEta - EmcalMaxEta);
AliParticleContainer * fTracksCont
output histogram
TH2 * fHistTrackEtaPhi
output histogram
virtual AliVParticle * GetNextAcceptParticle()
TH2 * fHistScaleEmcalvsNtrack
output histogram
TH2 * fHistScalevsNtrack
output histogram
Double_t fTpcArea
Emcal area.
TH2 * fHistScalevsScale2Emcal
output histogram
Base task in the EMCAL framework.
TH2 * fHistPtEMCALvsNtrack
output histogram
TH2 * fHistChScalevsNtrack
output histogram
TH2 * fHistPtEMCALvsCent
output histogram
TH2 * fHistPtTPCvsCent
Tpc area.
TH2 * fHistClusterEtaPhi
output histogram
Container for particles within the EMCAL framework.
TH2 * fHistChScale2EmcalvsNtrack
output histogram
TH2 * fHistPtTPCvsNtrack
output histogram
ClassImp(AliAnalysisTaskScale) AliAnalysisTaskScale
AliParticleContainer * GetParticleContainer(Int_t i=0) const
AliClusterContainer * fCaloClustersCont
Tracks.
AliEMCALGeometry * fGeom
!emcal geometry
TH2 * fHistScaleEmcalvsCent
output histogram
TH2 * fHistTrackPtvsCent
output histogram
AliClusterContainer * GetClusterContainer(Int_t i=0) const
Double_t fCent
!event centrality
TH2 * fHistChScale2EmcalvsCent
output histogram
TH2 * fHistScalevsCent
output histogram
TH2 * fHistDeltaScalevsCent
output histogram
TH2 * fHistEtvsNtrack
output histogram
TH2 * fHistDeltaScale2EmcalvsCent
output histogram
AliEmcalList * fOutput
!output list
Double_t GetParticlePhiMax() const
TH2 * fHistScale2EmcalvsNtrack
output histogram
TH2 * fHistDeltaScalevsNtrack
output histogram
Double_t fVertex[3]
!event vertex
TH2 * fHistEtvsCent
output histogram
void UserCreateOutputObjects()
void SetMakeGeneralHistograms(Bool_t g)
Double_t GetParticlePhiMin() const
TH2 * fHistScale2EmcalvsCent
output histogram
TH2 * fHistScaleEmcalvsScale2Emcal
output histogram
Int_t GetRunNumber(TString)
void UserCreateOutputObjects()
TH2 * fHistClusterPtvsCent
output histogram
TH2 * fHistScalevsScaleEmcal
output histogram
TH2 * fHistChScalevsCent
output histogram
Int_t GetNAcceptedParticles() const
AliVCluster * GetNextAcceptCluster()
Double_t GetScaleFactor(Double_t cent)