#include "AliGenPythiaEventHeader.h"
#include "AliAODMCHeader.h"
#include "AliMCEvent.h"
+#include "AliAnalysisUtils.h"
#include "AliParticleContainer.h"
#include "AliClusterContainer.h"
fMaxCent(-999),
fMinVz(-999),
fMaxVz(-999),
+ fTrackPtCut(0),
+ fMinNTrack(0),
+ fUseAliAnaUtils(kFALSE),
+ fAliAnalysisUtils(0x0),
fOffTrigger(AliVEvent::kAny),
fTrigClass(),
fNbins(500),
fMaxCent(-999),
fMinVz(-999),
fMaxVz(-999),
+ fTrackPtCut(0),
+ fMinNTrack(0),
+ fUseAliAnaUtils(kFALSE),
+ fAliAnalysisUtils(0x0),
fOffTrigger(AliVEvent::kAny),
fTrigClass(),
fNbins(500),
AliParticleContainer *cont = GetParticleContainer(c);
if (cont) cont->SetParticlePtCut(cut);
else AliError(Form("%s in SetTrackPtCut(...): container %d not found",GetName(),c));
+
+ fTrackPtCut = cut;
}
//________________________________________________________________________
AliVParticle *track = GetAcceptParticleFromArray(i,0);
if(!track)
continue;
- if (track->Eta() < fGeom->GetArm1EtaMin() || track->Eta() > fGeom->GetArm1EtaMax() ||
- track->Phi() < fGeom->GetArm1PhiMin() * TMath::DegToRad() || track->Phi() > fGeom->GetArm1PhiMax() * TMath::DegToRad())
+
+ Double_t phiMin = fGeom->GetArm1PhiMin() * TMath::DegToRad();
+ Double_t phiMax = fGeom->GetArm1PhiMax() * TMath::DegToRad();
+ Int_t runNumber = InputEvent()->GetRunNumber();
+ if(runNumber>=177295 && runNumber<=197470) { //small SM masked in 2012 and 2013
+ phiMin = 1.4;
+ phiMax = TMath::Pi();
+ }
+
+ if (track->Eta() < fGeom->GetArm1EtaMin() || track->Eta() > fGeom->GetArm1EtaMax() || track->Phi() < phiMin || track->Phi() > phiMax)
continue;
if (track->Pt() > fMinPtTrackInEmcal) {
trackInEmcalOk = kTRUE;
return kFALSE;
}
+ if (fMinNTrack > 0 && fTracks) {
+ Int_t nTracksAcc = 0;
+ Int_t ntracks = GetNParticles(0);
+ for (Int_t i = 0; i < ntracks; i++) {
+ AliVParticle *track = GetAcceptParticleFromArray(i,0);
+ if(!track)
+ continue;
+ if (track->Pt() > fTrackPtCut) {
+ nTracksAcc++;
+ if(nTracksAcc>=fMinNTrack)
+ break;
+ }
+ }
+ if (nTracksAcc<fMinNTrack)
+ return kFALSE;
+ }
+
+ if(fUseAliAnaUtils) {
+ if(!fAliAnalysisUtils)
+ fAliAnalysisUtils = new AliAnalysisUtils();
+ fAliAnalysisUtils->SetMinVtxContr(2);
+ fAliAnalysisUtils->SetMaxVtxZ(10.);
+
+ if(!fAliAnalysisUtils->IsVertexSelected2013pA(InputEvent()))
+ return kFALSE;
+
+ if(fAliAnalysisUtils->IsPileUpEvent(InputEvent()))
+ return kFALSE;
+ }
if (!(fEPV0 > fMinEventPlane && fEPV0 <= fMaxEventPlane) &&
!(fEPV0 + TMath::Pi() > fMinEventPlane && fEPV0 + TMath::Pi() <= fMaxEventPlane) &&
class AliClusterContainer;
class AliGenPythiaEventHeader;
class AliVCaloTrigger;
+class AliAnalysisUtils;
#include "Rtypes.h"
void SetMinPtTrackInEmcal(Double_t min) { fMinPtTrackInEmcal = min ; }
void SetEventPlaneVsEmcal(Double_t ep) { fEventPlaneVsEmcal = ep ; }
void SetCentralityEstimator(const char *c) { fCentEst = c ; }
+
+ void SetMinNTrack(Int_t min) { fMinNTrack = min ; }
+ void SetUseAliAnaUtils(Bool_t b) { fUseAliAnaUtils = b ; }
+
void SetMinMCLabel(Int_t s) { fMinMCLabel = s ; }
void SetIsEmbedded(Bool_t i) { fIsEmbedded = i ; }
void SetIsPythia(Bool_t i) { fIsPythia = i ; }
Double_t fMaxCent; // max centrality for event selection
Double_t fMinVz; // min vertex for event selection
Double_t fMaxVz; // max vertex for event selection
+ Double_t fTrackPtCut; // cut on track pt in event selection
+ Int_t fMinNTrack; // minimum nr of tracks in event with pT>fTrackPtCut
+ Bool_t fUseAliAnaUtils; // used for LHC13* data
+ AliAnalysisUtils *fAliAnalysisUtils; //! vertex selection (optional)
+
UInt_t fOffTrigger; // offline trigger for event selection
TString fTrigClass; // trigger class name for event selection
Int_t fNbins; // no. of pt bins