,fEvtSelectionMask(0)
,fEventClass(0)
,fMaxVertexZ(10)
+ ,fRejectPileup(kFALSE)
,fTrackPtCut(0)
,fTrackEtaMin(0)
,fTrackEtaMax(0)
,fJetEtaMax(0)
,fJetPhiMin(0)
,fJetPhiMax(0)
+ ,fJetMinArea(0)
,fFFRadius(0)
,fFFMinLTrackPt(-1)
,fFFMaxTrackPt(-1)
,fEvtSelectionMask(0)
,fEventClass(0)
,fMaxVertexZ(10)
+ ,fRejectPileup(kFALSE)
,fTrackPtCut(0)
,fTrackEtaMin(0)
,fTrackEtaMax(0)
,fJetEtaMax(0)
,fJetPhiMin(0)
,fJetPhiMax(0)
+ ,fJetMinArea(0)
,fFFRadius(0)
,fFFMinLTrackPt(-1)
,fFFMaxTrackPt(-1)
,fEvtSelectionMask(copy.fEvtSelectionMask)
,fEventClass(copy.fEventClass)
,fMaxVertexZ(copy.fMaxVertexZ)
+ ,fRejectPileup(copy.fRejectPileup)
,fTrackPtCut(copy.fTrackPtCut)
,fTrackEtaMin(copy.fTrackEtaMin)
,fTrackEtaMax(copy.fTrackEtaMax)
,fJetEtaMax(copy.fJetEtaMax)
,fJetPhiMin(copy.fJetPhiMin)
,fJetPhiMax(copy.fJetPhiMax)
+ ,fJetMinArea(copy.fJetMinArea)
,fFFRadius(copy.fFFRadius)
,fFFMinLTrackPt(copy.fFFMinLTrackPt)
,fFFMaxTrackPt(copy.fFFMaxTrackPt)
fEvtSelectionMask = o.fEvtSelectionMask;
fEventClass = o.fEventClass;
fMaxVertexZ = o.fMaxVertexZ;
+ fRejectPileup = o.fRejectPileup;
fTrackPtCut = o.fTrackPtCut;
fTrackEtaMin = o.fTrackEtaMin;
fTrackEtaMax = o.fTrackEtaMax;
fJetEtaMax = o.fJetEtaMax;
fJetPhiMin = o.fJetPhiMin;
fJetPhiMax = o.fJetPhiMin;
+ fJetMinArea = o.fJetMinArea;
fFFRadius = o.fFFRadius;
fFFMinLTrackPt = o.fFFMinLTrackPt;
fFFMaxTrackPt = o.fFFMaxTrackPt;
// Histograms
- fh1EvtSelection = new TH1F("fh1EvtSelection", "Event Selection", 6, -0.5, 5.5);
+ fh1EvtSelection = new TH1F("fh1EvtSelection", "Event Selection", 7, -0.5, 6.5);
fh1EvtSelection->GetXaxis()->SetBinLabel(1,"ACCEPTED");
fh1EvtSelection->GetXaxis()->SetBinLabel(2,"event selection: rejected");
fh1EvtSelection->GetXaxis()->SetBinLabel(3,"event class: rejected");
fh1EvtSelection->GetXaxis()->SetBinLabel(4,"vertex Ncontr: rejected");
fh1EvtSelection->GetXaxis()->SetBinLabel(5,"vertex z: rejected");
fh1EvtSelection->GetXaxis()->SetBinLabel(6,"vertex type: rejected");
-
+ fh1EvtSelection->GetXaxis()->SetBinLabel(7,"pileup: rejected");
+
fh1VertexNContributors = new TH1F("fh1VertexNContributors", "Vertex N contributors", 2500,-.5, 2499.5);
fh1VertexZ = new TH1F("fh1VertexZ", "Vertex z distribution", 30, -15., 15.);
fh1EvtMult = new TH1F("fh1EvtMult","Event multiplicity, track pT cut > 150 MeV/c, |#eta| < 0.9",120,0.,12000.);
return;
}
+ if(fRejectPileup && AliAnalysisHelperJetTasks::IsPileUp()){
+ if (fDebug > 1) Printf("%s:%d SPD pileup: event REJECTED...",(char*)__FILE__,__LINE__);
+ fh1EvtSelection->Fill(6.);
+ PostData(1, fCommonHistList);
+ return;
+ }
+
if (fDebug > 1) Printf("%s:%d event ACCEPTED ...",(char*)__FILE__,__LINE__);
fh1EvtSelection->Fill(0.);
fh1EvtCent->Fill(centPercent);
if(GetFFMinNTracks()>0 && jettracklist->GetSize()<=GetFFMinNTracks()) isBadJet = kTRUE;
- if(isBadJet) continue;
+ if(isBadJet){
+ delete jettracklist;
+ continue;
+ }
if(ptFractionEmbedded>=fCutFractionPtEmbedded){ // if no embedding: ptFraction = cutFraction = 0
if(GetFFMinNTracks()>0 && jettracklist->GetSize()<=GetFFMinNTracks()) isBadJet = kTRUE;;
- if(isBadJet) continue;
+ if(isBadJet){
+ delete jettracklist;
+ continue;
+ }
for(Int_t it=0; it<jettracklist->GetSize(); ++it){
if(GetFFMinNTracks()>0 && jettracklistGenSecNS->GetSize()<=GetFFMinNTracks()) isBadJetGenSec = kTRUE;
if(GetFFMinNTracks()>0 && jettracklistRec->GetSize()<=GetFFMinNTracks()) isBadJetRec = kTRUE;
- if(isBadJetRec) continue;
+ if(isBadJetRec){
+ delete jettracklistGenPrim;
+ delete jettracklistGenSecNS;
+ delete jettracklistGenSecS;
+ delete jettracklistRec;
+
+ continue;
+ }
if(fQAMode&2) fQAJetHistosRecEffLeading->FillJetQA( jetEta, jetPhi, sumPtGenLeadingJetRecEff );
jettracklistRec,kTRUE,fJSMode,fProNtracksLeadingJetRecSecSsc,fProDelRPtSumRecSecSsc);
}
- delete jettracklistGenPrim;
+ delete jettracklistGenPrim;
delete jettracklistGenSecNS;
delete jettracklistGenSecS;
delete jettracklistRec;
TList* perpjettracklistGen1 = new TList();
TList* perpjettracklistGen2 = new TList();
+ //Double_t sumPtGenPerp = 0.;
Double_t sumPtGenPerp1 = 0.;
Double_t sumPtGenPerp2 = 0.;
GetTracksTiltedwrpJetAxis(TMath::Pi()/2.,fTracksAODMCCharged, perpjettracklistGen1, jet, TMath::Abs(GetFFRadius()) , sumPtGenPerp1);
perpjettracklistGen->AddAll(perpjettracklistGen1);
perpjettracklistGen->AddAll(perpjettracklistGen2);
+ //sumPtGenPerp = 0.5*(sumPtGenPerp1+sumPtGenPerp2);
TList* perpjettracklistGenSecNS = new TList();
TList* perpjettracklistGenSecNS1 = new TList();
TList* perpjettracklistGenSecNS2 = new TList();
- Double_t sumPtGenPerpNS1 = 0;
- Double_t sumPtGenPerpNS2 = 0;
+ //Double_t sumPtGenPerpNS;
+ Double_t sumPtGenPerpNS1;
+ Double_t sumPtGenPerpNS2;
GetTracksTiltedwrpJetAxis(TMath::Pi()/2.,fTracksAODMCChargedSecNS, perpjettracklistGenSecNS1, jet, TMath::Abs(GetFFRadius()) , sumPtGenPerpNS1);
GetTracksTiltedwrpJetAxis(-1*TMath::Pi()/2.,fTracksAODMCChargedSecNS, perpjettracklistGenSecNS2, jet, TMath::Abs(GetFFRadius()) , sumPtGenPerpNS2);
perpjettracklistGenSecNS->AddAll(perpjettracklistGenSecNS1);
perpjettracklistGenSecNS->AddAll(perpjettracklistGenSecNS2);
+ //sumPtGenPerpNS = 0.5*(sumPtGenPerpNS1+sumPtGenPerpNS2);
TList* perpjettracklistGenSecS = new TList();
TList* perpjettracklistGenSecS1 = new TList();
TList* perpjettracklistGenSecS2 = new TList();
- Double_t sumPtGenPerpS1 = 0;
- Double_t sumPtGenPerpS2 = 0;
+ //Double_t sumPtGenPerpS;
+ Double_t sumPtGenPerpS1;
+ Double_t sumPtGenPerpS2;
GetTracksTiltedwrpJetAxis(TMath::Pi()/2.,fTracksAODMCChargedSecS, perpjettracklistGenSecS1, jet, TMath::Abs(GetFFRadius()) , sumPtGenPerpS1);
GetTracksTiltedwrpJetAxis(-1*TMath::Pi()/2.,fTracksAODMCChargedSecS, perpjettracklistGenSecS2, jet, TMath::Abs(GetFFRadius()) , sumPtGenPerpS2);
perpjettracklistGenSecS->AddAll(perpjettracklistGenSecS1);
perpjettracklistGenSecS->AddAll(perpjettracklistGenSecS2);
+ //sumPtGenPerpS = 0.5*(sumPtGenPerpS1+sumPtGenPerpS2);
if(perpjettracklistGen->GetSize() != perpjettracklistGen1->GetSize() + perpjettracklistGen2->GetSize()){
if(!tmp) continue;
if( tmp->Pt() < fJetPtCut ) continue;
+ if( tmp->EffectiveAreaCharged() < fJetMinArea ) continue;
if( type == kJetsRecAcceptance &&
( tmp->Eta() < fJetEtaMin
|| tmp->Eta() > fJetEtaMax
if(!tmp) continue;
if( tmp->Pt() < fJetPtCut ) continue;
+ if( tmp->EffectiveAreaCharged() < fJetMinArea ) continue;
if( type == kJetsGenAcceptance &&
( tmp->Eta() < fJetEtaMin
|| tmp->Eta() > fJetEtaMax
if(!tmp) continue;
if( tmp->Pt() < fJetPtCut ) continue;
+ if( tmp->EffectiveAreaCharged() < fJetMinArea ) continue;
if( tmp->Eta() < fJetEtaMin
|| tmp->Eta() > fJetEtaMax
|| tmp->Phi() < fJetPhiMin
}
// _________________________________________________________________________________________________________
-void AliAnalysisTaskFragmentationFunction::SetProperties(THnSparse* h,const Int_t dim, const char** labels)
+void AliAnalysisTaskFragmentationFunction::SetProperties(THnSparse* h, Int_t dim, const char** labels)
{
// Set properties of THnSparse
// ________________________________________________________________________________________________________________________________________________________
void AliAnalysisTaskFragmentationFunction::GetJetTracksPointing(TList* inputlist, TList* outputlist, const AliAODJet* jet,
- const Double_t& radius, Double_t& sumPt, const Double_t& minPtL, const Double_t& maxPt, Bool_t& isBadPt)
+ Double_t radius, Double_t& sumPt, Double_t minPtL, Double_t maxPt, Bool_t& isBadPt)
{
// fill list of tracks in cone around jet axis
}
// _________________________________________________________________________________________________________________________________________________________________
-void AliAnalysisTaskFragmentationFunction::GetJetTracksTrackrefs(TList* list, const AliAODJet* jet, const Double_t& minPtL,
- const Double_t& maxPt, Bool_t& isBadPt)
+void AliAnalysisTaskFragmentationFunction::GetJetTracksTrackrefs(TList* list, const AliAODJet* jet, Double_t minPtL, Double_t maxPt, Bool_t& isBadPt)
{
// list of jet tracks from trackrefs
}
// ______________________________________________________________________________________________________________________________________________________
-Float_t AliAnalysisTaskFragmentationFunction::CalcJetArea(const Float_t etaJet, const Float_t rc) const
+Float_t AliAnalysisTaskFragmentationFunction::CalcJetArea(Float_t etaJet, Float_t rc) const
{
// calculate area of jet with eta etaJet and radius rc
Int_t medianIndex = indices[(Int_t) (0.5*(nBckgClusters-1))];
medianCluster = (AliAODJet*)(fBckgJetsRec->At(medianIndex));
- Double_t clusterPt = medianCluster->Pt();
- Double_t area = medianCluster->EffectiveAreaCharged();
+ //Double_t clusterPt = medianCluster->Pt();
+ //Double_t area = medianCluster->EffectiveAreaCharged();
//if(area>0) medianDensity = clusterPt/area;
}
AliAODJet* medianCluster1 = (AliAODJet*)(fBckgJetsRec->At(medianIndex1));
AliAODJet* medianCluster2 = (AliAODJet*)(fBckgJetsRec->At(medianIndex2));
- Double_t density1 = 0;
- Double_t clusterPt1 = medianCluster1->Pt();
- Double_t area1 = medianCluster1->EffectiveAreaCharged();
- if(area1>0) density1 = clusterPt1/area1;
+ //Double_t density1 = 0;
+ //Double_t clusterPt1 = medianCluster1->Pt();
+ //Double_t area1 = medianCluster1->EffectiveAreaCharged();
+ //if(area1>0) density1 = clusterPt1/area1;
- Double_t density2 = 0;
- Double_t clusterPt2 = medianCluster2->Pt();
- Double_t area2 = medianCluster2->EffectiveAreaCharged();
- if(area2>0) density2 = clusterPt2/area2;
+ //Double_t density2 = 0;
+ //Double_t clusterPt2 = medianCluster2->Pt();
+ //Double_t area2 = medianCluster2->EffectiveAreaCharged();
+ //if(area2>0) density2 = clusterPt2/area2;
//medianDensity = 0.5*(density1+density2);
}
//_____________________________________________________________________________________
-Double_t AliAnalysisTaskFragmentationFunction::GetMCStrangenessFactor(const Double_t& pt)
+Double_t AliAnalysisTaskFragmentationFunction::GetMCStrangenessFactor(Double_t pt)
{
// factor strangeness data/MC as function of pt from UE analysis (Sara Vallero)