AliAnalysisTaskRhoAverage::AliAnalysisTaskRhoAverage() :
AliAnalysisTaskRhoBase("AliAnalysisTaskRhoAverage"),
fRhoType(0),
- fNExclLeadPart(0)
+ fNExclLeadPart(0),
+ fUseMedian(kFALSE)
{
// Default constructor.
}
AliAnalysisTaskRhoAverage::AliAnalysisTaskRhoAverage(const char *name, Bool_t histo) :
AliAnalysisTaskRhoBase(name, histo),
fRhoType(0),
- fNExclLeadPart(0)
+ fNExclLeadPart(0),
+ fUseMedian(kFALSE)
{
// Constructor.
}
static Double_t rhovec[9999];
Int_t NpartAcc = 0;
- Int_t maxPartIds[] = {-1, -1};
- Float_t maxPartPts[] = { 0, 0};
+ Int_t maxPartIds[] = {0, 0};
+ Float_t maxPartPts[] = {0, 0};
// push all jets within selected acceptance into stack
}
if (fNExclLeadPart < 2) {
- maxPartIds[1] = -1;
+ maxPartIds[1] = 0;
maxPartPts[1] = 0;
}
}
}
}
- Double_t rho = TMath::Median(NpartAcc, rhovec);
+ Double_t rho = 0;
+
+ if (fUseMedian)
+ rho = TMath::Median(NpartAcc, rhovec);
+ else
+ rho = TMath::Mean(NpartAcc, rhovec);
- Double_t area = (fTrackMaxEta - fTrackMinEta) * (fTrackMaxPhi - fTrackMinPhi);
+ Float_t maxEta = fTrackMaxEta;
+ Float_t minEta = fTrackMinEta;
+ Float_t maxPhi = fTrackMaxPhi;
+ Float_t minPhi = fTrackMinPhi;
+
+ if (maxPhi > TMath::Pi() * 2) maxPhi = TMath::Pi() * 2;
+ if (minPhi < 0) minPhi = 0;
+
+ Double_t area = (maxEta - minEta) * (maxPhi - minPhi);
if (area > 0) {
rho *= NpartAcc / area;
void SetRhoType(Int_t t) { fRhoType = t ; }
void SetExcludeLeadPart(UInt_t n) { fNExclLeadPart = n ; }
+ void SetUseMedian(Bool_t b=kTRUE) { fUseMedian = b ; }
protected:
Bool_t Run();
Int_t fRhoType ;// rho type: 0 = charged+neutral, 1 = charged, 2 = neutral
UInt_t fNExclLeadPart ;// number of leading particles to be excluded from the median calculation
+ Bool_t fUseMedian ;// whether or not use the median to calculate rho (mean is used if false)
AliAnalysisTaskRhoAverage(const AliAnalysisTaskRhoAverage&); // not implemented
AliAnalysisTaskRhoAverage& operator=(const AliAnalysisTaskRhoAverage&); // not implemented
- ClassDef(AliAnalysisTaskRhoAverage, 3); // Rho task
+ ClassDef(AliAnalysisTaskRhoAverage, 4); // Rho task
};
#endif