Skip to content

Commit

Permalink
Merge branch 'alisw:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
JihyeSSong authored Apr 24, 2023
2 parents 075e8ec + 61824d3 commit c6ae061
Show file tree
Hide file tree
Showing 70 changed files with 5,244 additions and 902 deletions.
4 changes: 2 additions & 2 deletions OADB/AliTriggerAnalysis.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1176,14 +1176,14 @@ void AliTriggerAnalysis::ApplyTOFefficiency(TBits& fired) {
}

//-------------------------------------------------------------------------------------------------
Bool_t AliTriggerAnalysis::IsOMUfired(const TBits& maxipads) {
Bool_t AliTriggerAnalysis::IsOMUfired(TBits maxipads) {
UInt_t nFired = maxipads.CountBits();
if (nFired < 2)
return false;
if (nFired > 6)
return false;
Bool_t fLTMarray[36];
for (bool ltm : fLTMarray)
for (bool& ltm : fLTMarray)
ltm = false;
for (Int_t ltm = 0; ltm < 72; ltm++) {
for (Int_t ch = 0; ch < 23; ch++) {
Expand Down
8 changes: 4 additions & 4 deletions OADB/AliTriggerAnalysis.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ class AliTriggerAnalysis : public AliOADBTriggerAnalysis{
void FillHistograms(const AliVEvent* event, Bool_t onlineDecision, Bool_t offlineDecision);
void FillTriggerClasses(const AliVEvent* event);

void SetSPDGFOEfficiency(TH1D* hist) { delete fSPDGFOEfficiency; fSPDGFOEfficiency = hist; }
void SetTOFMaxipadEfficiency(TH2F* hist) { delete fTOFMaxipadEfficiency; fTOFMaxipadEfficiency = hist; }
void SetSPDGFOEfficiency(TH1D* hist) { fSPDGFOEfficiency = hist; }
void SetTOFMaxipadEfficiency(TH2F* hist) { fTOFMaxipadEfficiency = hist; }
void SetDoFMD(Bool_t flag = kTRUE) {fDoFMD = flag;}

TObject* GetHistogram(const char* histName);
Expand All @@ -111,8 +111,8 @@ class AliTriggerAnalysis : public AliOADBTriggerAnalysis{
// TOF trigger helpers
void GetTOFFiredMaxipads(const AliVEvent* event, TBits& maxipads);
void ApplyTOFefficiency(TBits& fired);
Bool_t IsOM2fired(const TBits& maxipads) { return maxipads.CountBits() >= 2; }
Bool_t IsOMUfired(const TBits& maxipads);
Bool_t IsOM2fired(TBits maxipads) { return maxipads.CountBits() >= 2; }
Bool_t IsOMUfired(TBits maxipads);

// SPD trigger helpers
void GetSPDFiredChips(const AliVEvent* event, TBits& chips);
Expand Down
2 changes: 1 addition & 1 deletion PWG/EMCAL/EMCALbase/AliEmcalTrackSelectionAOD.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ Bool_t AliEmcalTrackSelectionAOD::GetHybridFilterBits(Char_t bits[], TString per
period.BeginsWith("lhc18b8") || period.BeginsWith("lhc18f5") || period.BeginsWith("lhc18g2") || period.BeginsWith("lhc17g8a") ||
period.BeginsWith("lhc19a1") || period.BeginsWith("lhc19f4") || period.BeginsWith("lhc19d3") || period.BeginsWith("lhc20k1") ||
period.BeginsWith("lhc17h6e2") || period.BeginsWith("lhc17h6f2") || period.BeginsWith("lhc21b8") ||
period.BeginsWith("lhc15h1") || period.BeginsWith("lhc15h2")
period.BeginsWith("lhc15h1") || period.BeginsWith("lhc15h2") || period.BeginsWith("lhc23a3")
) {
bits[0] = 8;
bits[1] = 9;
Expand Down
1 change: 1 addition & 0 deletions PWG/FLOW/Base/AliFlowAnalysisWithMixedHarmonics.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1014,6 +1014,7 @@ void AliFlowAnalysisWithMixedHarmonics::BookAllAllEventQuantities()

this->BookDefault();
if(fCalculateVsM){this->BookVsM();}
if(fCalculateVsZDC){this->BookVsZDC();}
if(fEvaluateDifferential3pCorrelator){this->BookDifferential();}

} // end of void AliFlowAnalysisWithMixedHarmonics::BookAllAllEventQuantities()
Expand Down
148 changes: 121 additions & 27 deletions PWG/FLOW/Tasks/AliAnalysisTaskCVEPIDCME.cxx

Large diffs are not rendered by default.

23 changes: 19 additions & 4 deletions PWG/FLOW/Tasks/AliAnalysisTaskCVEPIDCME.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class AliAnalysisTaskCVEPIDCME : public AliAnalysisTaskSE
void IfCalculateLambdaHadron(bool bCalculateLambdaHadron) {this->isCalculateLambdaHadron = bCalculateLambdaHadron; }
void IfCalculateLambdaLambda(bool bCalculateLambdaLambda) {this->isCalculateLambdaLambda = bCalculateLambdaLambda; }
void IfCalculateProtonProton(bool bCalculateProtonProton) {this->isCalculateProtonProton = bCalculateProtonProton; }
void IfCalculateProtonHadron(bool bCalculateProtonHadron) {this->isCalculateProtonHadron = bCalculateProtonHadron; }
void IfCalculateHadronHadron(bool bCalculateHadronHadron) {this->isCalculateHadronHadron = bCalculateHadronHadron; }

void IfCheckLambdaProtonFromDecay(bool bCheckLambdaProtonFromDecay) {this->isCheckLambdaProtonFromDecay = bCheckLambdaProtonFromDecay; }
Expand Down Expand Up @@ -196,6 +197,7 @@ class AliAnalysisTaskCVEPIDCME : public AliAnalysisTaskSE
bool isCalculateLambdaHadron;
bool isCalculateLambdaLambda;
bool isCalculateProtonProton;
bool isCalculateProtonHadron;
bool isCalculateHadronHadron;

bool isCheckLambdaProtonFromDecay;
Expand Down Expand Up @@ -523,78 +525,91 @@ class AliAnalysisTaskCVEPIDCME : public AliAnalysisTaskSE
TProfile2D* fProfile2RawFlowPtCentProton[5][2];
TProfile2D* fProfile2RawFlowPtCentLambda[5][2];

// ΔMass
TH2D* fHist2DMass[4];

// δ
TProfile* fProfileDeltaLambdaProton[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile* fProfileDeltaLambdaHadron[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile* fProfileDeltaLambdaLambda[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile* fProfileDeltaProtonProton[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile* fProfileDeltaProtonHadron[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile* fProfileDeltaHadronHadron[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// γ [5]:plane type [4]:pair type
TProfile* fProfileGammaLambdaProton[5][4];
TProfile* fProfileGammaLambdaHadron[5][4];
TProfile* fProfileGammaLambdaLambda[5][4];
TProfile* fProfileGammaProtonProton[5][4];
TProfile* fProfileGammaProtonHadron[5][4];
TProfile* fProfileGammaHadronHadron[5][4];

// Diff δ(ΔpT)
TProfile2D* fProfile2DiffDeltaLambdaProtonDPt[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffDeltaLambdaHadronDPt[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffDeltaLambdaLambdaDPt[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffDeltaProtonProtonDPt[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile2D* fProfile2DiffDeltaProtonHadronDPt[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile2D* fProfile2DiffDeltaHadronHadronDPt[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// Diff δ(SpT)
TProfile2D* fProfile2DiffDeltaLambdaProtonSPt[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffDeltaLambdaHadronSPt[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffDeltaLambdaLambdaSPt[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffDeltaProtonProtonSPt[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile2D* fProfile2DiffDeltaProtonHadronSPt[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile2D* fProfile2DiffDeltaHadronHadronSPt[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// Diff δ(Δη)
TProfile2D* fProfile2DiffDeltaLambdaProtonDEta[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffDeltaLambdaHadronDEta[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffDeltaLambdaLambdaDEta[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffDeltaProtonProtonDEta[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile2D* fProfile2DiffDeltaProtonHadronDEta[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile2D* fProfile2DiffDeltaHadronHadronDEta[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// Diff δ(mass)
// Diff δ(Δmass)
TProfile2D* fProfile2DiffDeltaLambdaProtonMass[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffDeltaLambdaHadronMass[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffDeltaLambdaLambdaMass[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffDeltaLambdaLambdaDMass[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar

// Diff γ(ΔpT)(only TPC Plane)
TProfile2D* fProfile2DiffGammaLambdaProtonDPt[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffGammaLambdaHadronDPt[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffGammaLambdaLambdaDPt[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffGammaProtonProtonDPt[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile2D* fProfile2DiffGammaProtonHadronDPt[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile2D* fProfile2DiffGammaHadronHadronDPt[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// Diff γ(SpT)(only TPC Plane)
TProfile2D* fProfile2DiffGammaLambdaProtonSPt[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffGammaLambdaHadronSPt[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffGammaLambdaLambdaSPt[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffGammaProtonProtonSPt[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile2D* fProfile2DiffGammaProtonHadronSPt[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile2D* fProfile2DiffGammaHadronHadronSPt[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// Diff γ(Δη)
TProfile2D* fProfile2DiffGammaLambdaProtonDEta[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffGammaLambdaHadronDEta[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffGammaLambdaLambdaDEta[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffGammaProtonProtonDEta[4]; //![0]:p-p [1]:p-pbar [2]:pbar-p [3]:pbar-pbar
TProfile2D* fProfile2DiffGammaProtonHadronDEta[4]; //![0]:p-h+ [1]:p-h- [2]:pbar-h+ [3]:pbar-h-
TProfile2D* fProfile2DiffGammaHadronHadronDEta[4]; //![0]:h+-h+[1]:h--h- [2]:h--h+ [3]:h--h-
// Diff δ(mass)
// Diff δ(mass) or δ(Δmass)
TProfile2D* fProfile2DiffGammaLambdaProtonMass[4]; //![0]:Λ-p [1]:Λ-pbar [2]:Λbar-p [3]:Λbar-pbar
TProfile2D* fProfile2DiffGammaLambdaHadronMass[4]; //![0]:Λ-h+ [1]:Λ-h- [2]:Λbar-h+ [3]:Λbar-h-
TProfile2D* fProfile2DiffGammaLambdaLambdaMass[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar
TProfile2D* fProfile2DiffGammaLambdaLambdaDMass[4]; //![0]:Λ-Λ [1]:Λ-Λbar [2]:Λbar-Λ [3]:Λbar-Λbar


// C(Δη,Δφ) [cent][pair type]
TH2D* fHist2DEtaDPhiLambdaProton[8][4];
TH2D* fHist2DEtaDPhiLambdaHadron[8][4];
TH2D* fHist2DEtaDPhiLambdaLambda[8][4];
TH2D* fHist2DEtaDPhiProtonProton[8][4];
TH2D* fHist2DEtaDPhiProtonHadron[8][4];
TH2D* fHist2DEtaDPhiHadronHadron[8][4];

// C(Δη,sφ) [cent][pair type] only TPC Plane
TH2D* fHist2DEtaSPhiLambdaProton[8][4];
TH2D* fHist2DEtaSPhiLambdaHadron[8][4];
TH2D* fHist2DEtaSPhiLambdaLambda[8][4];
TH2D* fHist2DEtaSPhiProtonProton[8][4];
TH2D* fHist2DEtaSPhiProtonHadron[8][4];
TH2D* fHist2DEtaSPhiHadronHadron[8][4];

// δ Λ - daughter
Expand Down
3 changes: 3 additions & 0 deletions PWGCF/Correlations/DPhi/Unfoldedhistos/Ali2PCorrelations.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,9 @@ bool Ali2PCorrelations::ProcessTrack(int pid, float pT, float eta, float ophi)
float phi = ophi;
if (!(phi < fMax_phi))
phi = phi - 2 * TMath::Pi();
if (phi < fMin_phi) {
return kFALSE;
}
float ixPhi = int((phi - fMin_phi) / fWidth_phi);
if (ixPhi < 0 || !(ixPhi < fNBins_phi)) {
AliWarning("Track one phi out of bins");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1807,6 +1807,11 @@ void AliAnalysisTaskCorrelationsStudies::ProcessTracks(Bool_t simulated)

Bool_t bTrackAccepted = fTrackSelectionCuts->IsTrackAccepted(vtrack);
AliCSTrackSelection::poiIds pid = fTrackSelectionCuts->GetAcceptedTrackPOIId();
/* pre-check the particle acceptance */
if (fDoProcessCorrelations) {
bTrackAccepted = bTrackAccepted && fProcessCorrelations->IsTrackAccepted(i, vtrack);
}


/* only fill histograms if this is not an additional simulated event */
if (!simulated) {
Expand Down Expand Up @@ -2048,6 +2053,14 @@ void AliAnalysisTaskCorrelationsStudies::ProcessTrueTracks()
part = (AliAODMCParticle *) arrayMC->At(iTrack);
}

/* pre-check the particle acceptance */
if (fDoProcessCorrelations) {
if (!fProcessTrueCorrelations->IsTrackAccepted(iTrack, part)) {
/* particle not accepted by the correlations cuts */
continue;
}
}

p = part->P();
pt = part->Pt();
pz = part->Pz();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ AliTwoParticleCorrelationsBase::AliTwoParticleCorrelationsBase()
fMin_phi(0.0),
fMax_phi(TMath::Pi() * 2.0),
fWidth_phi(TMath::Pi() * 2.0 / 72.0),
fExcludeTOFHole(false),
/* eta bins */
fNBins_eta(20),
fMin_eta(-1.0),
Expand Down Expand Up @@ -159,6 +160,7 @@ AliTwoParticleCorrelationsBase::AliTwoParticleCorrelationsBase(const char* name)
fMin_phi(0.0),
fMax_phi(TMath::Pi() * 2.0),
fWidth_phi(TMath::Pi() * 2.0 / 72.0),
fExcludeTOFHole(false),
/* eta bins */
fNBins_eta(20),
fMin_eta(-1.0),
Expand Down Expand Up @@ -220,8 +222,17 @@ Bool_t AliTwoParticleCorrelationsBase::ConfigureBinning(const char *confstring)

TObjArray *a = stritem.Tokenize(",");
if (a->GetEntries() != DPTDPTCORRBINCONFIGPAR) {
delete a;
return false;
if (a->GetEntries() != DPTDPTCORRBINCONFIGPAR+1) {
delete a;
return false;
} else {
if (TString(a->At(DPTDPTCORRBINCONFIGPAR)->GetName()).EqualTo("TOF")) {
fExcludeTOFHole = true;
} else {
delete a;
return false;
}
}
}
sscanf(stritem, "%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%d",
&fMin_vertexZ, &fMax_vertexZ, &fWidth_vertexZ,
Expand Down Expand Up @@ -266,10 +277,11 @@ void AliTwoParticleCorrelationsBase::ConfigureResonances(const char *confstring)
/// \return the configuration string corresponding to the current configuration
TString AliTwoParticleCorrelationsBase::GetBinningConfigurationString() const
{
return TString::Format("%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%d",
return TString::Format("%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%d%s",
fMin_vertexZ, fMax_vertexZ, fWidth_vertexZ,
fMin_pt, fMax_pt, fWidth_pt,
fMin_eta, fMax_eta, fWidth_eta, fNBins_phi);
fMin_eta, fMax_eta, fWidth_eta, fNBins_phi,
fExcludeTOFHole ? ",TOF" : "");
}

/// \brief Build the resonances rejection configuration string
Expand Down Expand Up @@ -322,6 +334,8 @@ void AliTwoParticleCorrelationsBase::Initialize()
fOutput->Add(new TParameter<Double_t>("MaxEta", fMax_eta, 'f'));
fOutput->Add(new TParameter<Double_t>("MinPhi", fMin_phi, 'f'));
fOutput->Add(new TParameter<Double_t>("MaxPhi", fMax_phi, 'f'));
fOutput->Add(new TParameter<Double_t>("NoBinsPhiShift", fNBinsPhiShift, 'f'));
fOutput->Add(new TParameter<bool>("ExcludeTOFHole", fExcludeTOFHole, 'f'));

/* incorporate the resonance rejection configuration parameter */
Int_t rescode = 0;
Expand Down Expand Up @@ -391,6 +405,12 @@ void AliTwoParticleCorrelationsBase::Initialize()
}
}
TH1::AddDirectory(oldstatus);

/* after histogram creation the proper phi upper limit is set according to inclusion or not of the TOF hole */
if (fExcludeTOFHole) {
const int nPhiBinsTOFHole = 25;
fMax_phi = fMax_phi - fWidth_phi * nPhiBinsTOFHole;
}
}

/// \brief Stores the correction weights for the different track species
Expand Down Expand Up @@ -641,6 +661,69 @@ Bool_t AliTwoParticleCorrelationsBase::StartEvent(Float_t centrality, Float_t ve
return kTRUE;
}

/// \brief check if the track is accepted according to the correlations cuts
///
/// \param pid the external track Id
/// \param trk the passed track
/// \return kTRUE if the track is accepted kFALSE otherwise
bool AliTwoParticleCorrelationsBase::IsTrackAccepted(int pid, AliVTrack* trk)
{
return IsTrackAccepted((trk->Charge() > 0) ? 0 : 1, float(trk->Pt()), float(trk->Eta()), float(trk->Phi()));
}

/// \brief check if the true particle is accepted according to the correlations cuts
///
/// \param pid the external particle Id
/// \param part the passed particle
/// \return kTRUE if the particle is properly handled kFALSE otherwise
bool AliTwoParticleCorrelationsBase::IsTrackAccepted(int pid, AliVParticle* part)
{
if (part->Charge() != 0) {
return IsTrackAccepted((part->Charge() > 0) ? 0 : 1, float(part->Pt()), float(part->Eta()), float(part->Phi()));
}
else {
return kFALSE;
}
}

/// \brief checks if the track is accepted according to the configured cuts
/// \param pid the track PID
/// \param pT the track \f$ p_T \f$
/// \param eta the track \f$ \eta \f$
/// \param phi the track \f$ \phi \f$
/// \return kTRUE if the track is accepted
/// This is a pre-check so for the time being the pT cut is not checked
/// to allow PID information depending on momentum
bool AliTwoParticleCorrelationsBase::IsTrackAccepted(int pid, float, float eta, float ophi)
{
/* for the time being */
if (pid != 0 && pid != 1)
return kFALSE;

/* consider a potential phi origin shift */
float phi = ophi;
if (!(phi < fMax_phi))
phi = phi - 2 * TMath::Pi();
if (phi < fMin_phi) {
return kFALSE;
}
float ixPhi = int((phi - fMin_phi) / fWidth_phi);
if (ixPhi < 0 || !(ixPhi < fNBins_phi)) {
return kFALSE;
}

if (eta < fMin_eta || fMax_eta < eta) {
return kFALSE;
}

int ixEta = int((eta - fMin_eta) / fWidth_eta);
if (ixEta < 0 || !(ixEta < fNBins_eta)) {
return kFALSE;
}
return kTRUE;
}


/// \brief process a track and store its parameters if feasible
///
/// If simulation is ordered the actual track is discarded and a new one with the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ class AliTwoParticleCorrelationsBase : public TNamed {
/// \return the histograms list
TList *GetHistogramsList() { return fOutput; }
virtual bool StartEvent(float centrality, float vertexZ);
virtual bool IsTrackAccepted(int id, AliVTrack* trk);
virtual bool IsTrackAccepted(int id, AliVParticle* part);
virtual bool IsTrackAccepted(int pid, float pT, float eta, float phi);
virtual bool ProcessTrack(int id, AliVTrack* trk);
virtual bool ProcessTrack(int id, AliVParticle* part);
virtual bool ProcessTrack(int pid, float pT, float eta, float phi) = 0;
Expand Down Expand Up @@ -129,6 +132,7 @@ class AliTwoParticleCorrelationsBase : public TNamed {
double fMin_phi; ///< the track minimum \f$\phi\f$ value
double fMax_phi; ///< the track maximum \f$\phi\f$ value
double fWidth_phi; ///< the track \f$\phi\f$ bin width
bool fExcludeTOFHole; ///< exclude azimuthally the TOF hole
int fNBins_eta; ///< the track \f$\eta\f$ number of bins
double fMin_eta; ///< the track minimum \f$\eta\f$ value
double fMax_eta; ///< the track maximum \f$\eta\f$ value
Expand Down Expand Up @@ -178,7 +182,7 @@ class AliTwoParticleCorrelationsBase : public TNamed {
AliTwoParticleCorrelationsBase& operator=(const AliTwoParticleCorrelationsBase&);

/// \cond CLASSIMP
ClassDef(AliTwoParticleCorrelationsBase, 2);
ClassDef(AliTwoParticleCorrelationsBase, 3);
/// \endcond
};

Expand Down
Loading

0 comments on commit c6ae061

Please sign in to comment.