fLowRunN(0),
fHighRunN(0),
fUseScaling(0),
+ fUseCleaning(0),
fTrackCuts(0),
fZVCut(10),
fOutliersCut(5),
V0MScaleFactorMC[i]=0.0;
}
fUseScaling=kTRUE;
+ fUseCleaning=kTRUE;
}
//________________________________________________________________________
fLowRunN(0),
fHighRunN(0),
fUseScaling(0),
+ fUseCleaning(0),
fTrackCuts(0),
fZVCut(10),
fOutliersCut(5),
V0MScaleFactorMC[i]=0.0;
}
fUseScaling=kTRUE;
+ fUseCleaning=kTRUE;
}
//________________________________________________________________________
fLowRunN(ana.fLowRunN),
fHighRunN(ana.fHighRunN),
fUseScaling(ana.fUseScaling),
+ fUseCleaning(ana.fUseCleaning),
fTrackCuts(ana.fTrackCuts),
fZVCut(ana.fZVCut),
fOutliersCut(ana.fOutliersCut),
// ***** Scaling
+ // ***** Scaling for MC
+ if (fIsMCInput) {
+ fUseScaling=kFALSE;
+ Float_t temp_scalefactorV0M = MyGetScaleFactorMC(fCurrentRun);
+ v0Corr = Short_t((multV0A+multV0C) * temp_scalefactorV0M);
+ }
+ // ***** Scaling for Data
if (fUseScaling) {
Float_t temp_scalefactorV0M = MyGetScaleFactor(fCurrentRun,0);
Float_t temp_scalefactorSPD = MyGetScaleFactor(fCurrentRun,1);
spdCorr = spdCorr / temp_scalefactorSPD;
nTracks = Int_t(nTracks / temp_scalefactorTPC);
}
- // ***** Scaling for MC
- if (fIsMCInput) {
- Float_t temp_scalefactorV0M = MyGetScaleFactorMC(fCurrentRun);
- v0Corr = Short_t((multV0A+multV0C) * temp_scalefactorV0M);
- }
// ***** Centrality Selection
if(fHtempV0M) fCentV0M = fHtempV0M->GetBinContent(fHtempV0M->FindBin((v0Corr)));
if(fHtempZEMvsZDC) fCentZEMvsZDC = fHtempZEMvsZDC->GetBinContent(fHtempZEMvsZDC->FindBin(zem1Energy+zem2Energy,zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
// ***** Cleaning
- fQuality=0;
- fZVCut=10;
- fOutliersCut=6;
-
- // ***** vertex
- if (TMath::Abs(zvtx)>fZVCut) fQuality += 1;
-
- // ***** outliers
- // **** V0 vs SPD
- if (IsOutlierV0MSPD(spdCorr, v0Corr, int(fCentV0M))) fQuality += 2;
- // ***** V0 vs TPC
- if (IsOutlierV0MTPC(nTracks, v0Corr, int(fCentV0M))) fQuality += 4;
- // ***** V0 vs ZDC
- if (IsOutlierV0MZDC((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) &&
- (zdcEnergyCal==kFALSE) && !(fIsMCInput)) fQuality += 8;
- if (IsOutlierV0MZDCECal((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) &&
- ((zdcEnergyCal==kTRUE) || (fIsMCInput))) fQuality += 8;
+ if (fUseCleaning) {
+ fQuality=0;
+ fZVCut=10;
+ fOutliersCut=6;
+
+ // ***** vertex
+ if (TMath::Abs(zvtx)>fZVCut) fQuality += 1;
+
+ // ***** outliers
+ // **** V0 vs SPD
+ if (IsOutlierV0MSPD(spdCorr, v0Corr, int(fCentV0M))) fQuality += 2;
+ // ***** V0 vs TPC
+ if (IsOutlierV0MTPC(nTracks, v0Corr, int(fCentV0M))) fQuality += 4;
+ // ***** V0 vs ZDC
+ if (IsOutlierV0MZDC((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) &&
+ (zdcEnergyCal==kFALSE) && !(fIsMCInput)) fQuality += 8;
+ if (IsOutlierV0MZDCECal((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) &&
+ ((zdcEnergyCal==kTRUE) || (fIsMCInput))) fQuality += 8;
+ } else {
+ fQuality = 0;
+ }
+
if (esdCent) {
esdCent->SetQuality(fQuality);
esdCent->SetCentralityV0M(fCentV0M);
}
//________________________________________________________________________
-Bool_t AliCentralitySelectionTask::IsOutlierV0MZDCECal(Float_t zdc, Float_t v0)
+Bool_t AliCentralitySelectionTask::IsOutlierV0MZDCECal(Float_t /*zdc*/, Float_t /*v0*/)
{
return kFALSE;
}
{
for (int i=0; i<(fHighRunN-fLowRunN); i++) V0MScaleFactorMC[i] = 0.0;
// scale factors determined from <V0 charge> on a run-by-run basis
- V0MScaleFactor[0] = 0.75108;
+ V0MScaleFactorMC[0] = 0.75108;
// set all missing values to the value of the run before it ....
for (int i=0; i<(fHighRunN-fLowRunN); i++) {
if (V0MScaleFactorMC[i] == 0.0) {
void SetInput(const char* input) {fAnalysisInput = input;}
void SetMCInput() {fIsMCInput = kTRUE;}
void DontUseScaling() {fUseScaling=kFALSE;}
-
+ void DontUseCleaning() {fUseCleaning=kFALSE;}
void ReadCentralityHistos(TString filename);
void ReadCentralityHistos2(TString filename);
private:
Int_t fRunNo; // reference run number
Int_t fLowRunN; // first run
Int_t fHighRunN; // last run
- Bool_t fUseScaling;
+ Bool_t fUseScaling; // flag to use scaling
+ Bool_t fUseCleaning; // flag to use cleanin
Float_t V0MScaleFactor[2667]; // number of runs in PbPb 2010
Float_t SPDScaleFactor[2667]; // number of runs in PbPb 2010
Float_t TPCScaleFactor[2667]; // number of runs in PbPb 2010