// Vertex R cut not done in AliAnalysisTaskEmcal
if (TMath::Sqrt(TMath::Power(esd->GetPrimaryVertex()->GetX(),2)+TMath::Power(esd->GetPrimaryVertex()->GetY(),2))>fVertexMaxR)
{
+ DeleteJetData(0);
return;
}
}
// Vertex R cut not done in AliAnalysisTaskEmcal
if (TMath::Sqrt(TMath::Power(aod->GetPrimaryVertex()->GetX(),2)+TMath::Power(aod->GetPrimaryVertex()->GetY(),2))>fVertexMaxR)
{
+ DeleteJetData(0);
return;
}
}
else
{
AliError("Cannot get AOD/ESD event. Rejecting Event");
+ DeleteJetData(0);
return;
}
-
+
// Make sure Centrality isn't exactly 100% (to avoid bin filling errors in profile plots. Make it 99.99
if (fEventCentrality>99.99)
{
fhEMCalTrackEventMult->Fill(fEventCentrality,0.0);
}
AliWarning("No PicoTracks, Rejecting Event");
+ DeleteJetData(1);
+ PostData(1,fOutput);
return;
}
// Rho's
if (fCalculateRhoJet>=1)
{
- ChargedJetEnergyDensityProfile();
-
+ if (fDoJetRhoDensity == kTRUE)
+ {
+ ChargedJetEnergyDensityProfile();
+ }
if (fMCPartLevel==kTRUE)
{
EstimateChargedRhoCMS();
EstimateChargedRhokT();
}
- DeleteJetData(kFALSE);
-
+ DeleteJetData(2);
fnEventsCharged++;
-
- PostData(1, fOutput);
+ PostData(1,fOutput);
return;
}
-
+
if (fTrackQA==kTRUE)
{
TrackHisto();
// Prep the jets
InitChargedJets();
- InitFullJets();
GenerateTPCRandomConesPt();
+
+ InitFullJets();
GenerateEMCalRandomConesPt();
if (fCalculateRhoJet>=0)
}
// Delete Dynamic Arrays
- DeleteJetData(kTRUE);
- delete fRecoUtil;
+ DeleteJetData(3);
fnEvents++;
-
- PostData(1, fOutput);
+ PostData(1,fOutput);
}
//________________________________________________________________________
fTPCFullJet = new AlipAJetData("fTPCFullJet",kFALSE,fnAKTChargedJets);
fTPCOnlyJet = new AlipAJetData("fTPCOnlyJet",kFALSE,fnAKTChargedJets);
fTPCJetUnbiased = new AlipAJetData("fTPCJetUnbiased",kFALSE,fnAKTChargedJets);
-
+
fTPCJet->SetSignalCut(fTPCJetThreshold);
fTPCJet->SetAreaCutFraction(fJetAreaCutFrac);
fTPCJet->SetJetR(fJetR);
fTPCOnlyJet->SetIsJetInArray(IsInTPCFull(fJetR,myJet->Phi(),myJet->Eta()),i);
fTPCJetUnbiased->SetIsJetInArray(IsInTPC(fJetR,myJet->Phi(),myJet->Eta(),kFALSE),i);
}
+
fTPCJet->InitializeJetData(fmyAKTChargedJets,fnAKTChargedJets);
fTPCFullJet->InitializeJetData(fmyAKTChargedJets,fnAKTChargedJets);
fTPCOnlyJet->InitializeJetData(fmyAKTChargedJets,fnAKTChargedJets);
fRhoChargedScale->FillBackgroundFluctuations(fEventCentrality,TPC_rho,fJetR);
fRhoChargedScale->FillLeadingJetPtRho(fEMCalFullJet->GetLeadingPt(),TPC_rho);
fRhoChargedScale->FillMiscJetStats(fmyAKTFullJets,fEMCalFullJet->GetJets(),fEMCalFullJet->GetTotalJets(),fOrgTracks,fOrgClusters,fVertex);
-
}
void AliAnalysisTaskFullpAJets::EstimateChargedRhokT()
fRhoChargedCMSScale->FillLeadingJetPtRho(fEMCalFullJet->GetLeadingPt(),kTRho);
fRhoChargedCMSScale->DoNEFAnalysis(fNEFSignalJetCut,fEMCalJetThreshold,fmyAKTFullJets,fEMCalFullJet->GetJets(),fEMCalFullJet->GetTotalJets(),fmyClusters,fOrgClusters,fEvent,fEMCALGeometry,fRecoUtil,fCells);
fRhoChargedCMSScale->FillMiscJetStats(fmyAKTFullJets,fEMCalFullJet->GetJets(),fEMCalFullJet->GetTotalJets(),fOrgTracks,fOrgClusters,fVertex);
+ fRhoChargedCMSScale->FillJetEventCentrality(fEMCalFullJet->GetLeadingPt(),fEvent);
delete [] RhoArray;
delete [] pTArray;
delete jet_vec;
}
-void AliAnalysisTaskFullpAJets::DeleteJetData(Bool_t EMCalOn)
+void AliAnalysisTaskFullpAJets::DeleteJetData(Int_t delOption)
{
- delete fmyTracks;
- delete fTPCJet;
- delete fTPCFullJet;
- delete fTPCOnlyJet;
- delete fTPCkTFullJet;
- if (EMCalOn==kTRUE)
+ if (delOption ==0)
{
+ delete fRecoUtil;
+
+ fRecoUtil = NULL;
+ }
+ else if (delOption==1)
+ {
+ delete fRecoUtil;
+ delete fmyTracks;
delete fmyClusters;
+
+ fRecoUtil = NULL;
+ fmyTracks = NULL;
+ fmyClusters = NULL;
+ }
+ else if (delOption==2)
+ {
+ delete fRecoUtil;
+ delete fmyTracks;
+ delete fmyClusters;
+ delete fTPCJet;
+ delete fTPCFullJet;
+ delete fTPCOnlyJet;
+ delete fTPCJetUnbiased;
+ delete fTPCkTFullJet;
+
+ fRecoUtil = NULL;
+ fmyTracks = NULL;
+ fmyClusters = NULL;
+ fTPCJet = NULL;
+ fTPCFullJet = NULL;
+ fTPCOnlyJet = NULL;
+ fTPCJetUnbiased = NULL;
+ fTPCkTFullJet = NULL;
+ }
+ if (delOption==3)
+ {
+ delete fRecoUtil;
+ delete fmyTracks;
+ delete fmyClusters;
+ delete fTPCJet;
+ delete fTPCFullJet;
+ delete fTPCOnlyJet;
+ delete fTPCJetUnbiased;
+ delete fTPCkTFullJet;
delete fEMCalJet;
delete fEMCalFullJet;
delete fEMCalPartJet;
+ delete fEMCalPartJetUnbiased;
delete fEMCalkTFullJet;
+
+ fRecoUtil = NULL;
+ fmyTracks = NULL;
+ fmyClusters = NULL;
+ fTPCJet = NULL;
+ fTPCFullJet = NULL;
+ fTPCOnlyJet = NULL;
+ fTPCJetUnbiased = NULL;
+ fEMCalJet = NULL;
+ fEMCalFullJet = NULL;
+ fEMCalPartJet = NULL;
+ fEMCalPartJetUnbiased = NULL;
+ fEMCalkTFullJet = NULL;
}
}
// Destructor
AliAnalysisTaskFullpAJets::AlipAJetData::~AlipAJetData()
{
- if (fnTotal!=0)
- {
- SetName("");
- SetIsJetsFull(kFALSE);
- SetTotalEntries(0);
- SetTotalJets(0);
- SetTotalSignalJets(0);
- SetLeading(0,0);
- SetSubLeading(0,0);
- SetSignalCut(0);
- SetAreaCutFraction(0);
- SetJetR(0);
- SetNEF(0);
- SetSignalTrackPtBias(kFALSE);
-
- delete [] fJetsIndex;
- delete [] fJetsSCIndex;
- delete [] fIsJetInArray;
- delete [] fJetMaxChargedPt;
- }
+ SetName("");
+ SetIsJetsFull(kFALSE);
+ SetTotalJets(0);
+ SetTotalSignalJets(0);
+ SetLeading(0,0);
+ SetSubLeading(0,0);
+ SetSignalCut(0);
+ SetAreaCutFraction(0);
+ SetJetR(0);
+ SetNEF(0);
+ SetSignalTrackPtBias(kFALSE);
+
+ delete [] fJetsIndex;
+ delete [] fJetsSCIndex;
+ delete [] fIsJetInArray;
+ delete [] fJetMaxChargedPt;
+
+ fnTotal = 0;
}
// User Defined Sub-Routines
fhJetPtZLeadingTrack(0),
fhJetPtZLeadingCluster(0),
+ fhEventCentralityVsZNA(0),
+ fhEventCentralityVsZNAPt(0),
+
fNEFOutput(0),
fhJetPtNEF(0),
fhJetNEFInfo(0),
fhJetPtZLeadingTrack(0),
fhJetPtZLeadingCluster(0),
+ fhEventCentralityVsZNA(0),
+ fhEventCentralityVsZNAPt(0),
+
fNEFOutput(0),
fhJetPtNEF(0),
fhJetNEFInfo(0),
fhJetPtZLeadingTrack(0),
fhJetPtZLeadingCluster(0),
+ fhEventCentralityVsZNA(0),
+ fhEventCentralityVsZNAPt(0),
+
fNEFOutput(0),
fhJetPtNEF(0),
fhJetNEFInfo(0),
fhJetPtZLeadingTrack(0),
fhJetPtZLeadingCluster(0),
+ fhEventCentralityVsZNA(0),
+ fhEventCentralityVsZNAPt(0),
+
fNEFOutput(0),
fhJetPtNEF(0),
fhJetNEFInfo(0),
TString DeltaPtString="";
TString BckgFlucPtString="";
TString CentralityString;
+ TString EventCentralityString;
CentralityString = Form("Centrality (%s) ",fCentralityTag.Data());
+ EventCentralityString = Form("%s vs ZNA Centrality ",fCentralityTag.Data());
// Rho Spectral Plots
RhoString = Form("%d-%d Centrality, Rho Spectrum",0,20);
fhJetPtZLeadingCluster->GetYaxis()->SetTitle("z_{Leading,cluster}");
fhJetPtZLeadingCluster->GetZaxis()->SetTitle("1/N_{Events} dN_{jet}/dp_{T,jet}dz_{cluster}");
fhJetPtZLeadingCluster->Sumw2();
+
+ // Event Centralities vs Leading Jet Pt
+ fhEventCentralityVsZNA = new TH2F("fhEventCentralityVsZNA",EventCentralityString,fCentralityBins,fCentralityLow,fCentralityUp,fCentralityBins,fCentralityLow,fCentralityUp);
+ fhEventCentralityVsZNA->GetXaxis()->SetTitle(Form("%s",CentralityString.Data()));
+ fhEventCentralityVsZNA->GetYaxis()->SetTitle("Centrality (ZNA)");
+ fhEventCentralityVsZNA->GetZaxis()->SetTitle("Probability Density");
+ fhEventCentralityVsZNA->Sumw2();
+
+ EventCentralityString = Form("%s vs ZNA Centrality vs Leading Jet p_{T} ",fCentralityTag.Data());
+ fhEventCentralityVsZNAPt = new TH3F("fhEventCentralityVsZNAPt",EventCentralityString,fCentralityBins,fCentralityLow,fCentralityUp,fCentralityBins,fCentralityLow,fCentralityUp,fPtBins,fPtLow,fPtUp);
+ fhEventCentralityVsZNAPt->GetXaxis()->SetTitle(Form("%s",CentralityString.Data()));
+ fhEventCentralityVsZNAPt->GetYaxis()->SetTitle("Centrality (ZNA)");
+ fhEventCentralityVsZNAPt->GetZaxis()->SetTitle("Leading Jet p_{T} (GeV/c)");
+ fhEventCentralityVsZNAPt->Sumw2();
// Neutral Energy Fraction Histograms & QA
if (fDoNEFQAPlots==kTRUE)
fOutput->Add(fhJetPtZLeadingConstituent);
fOutput->Add(fhJetPtZLeadingTrack);
fOutput->Add(fhJetPtZLeadingCluster);
+ fOutput->Add(fhEventCentralityVsZNA);
+ fOutput->Add(fhEventCentralityVsZNAPt);
}
void AliAnalysisTaskFullpAJets::AlipAJetHistos::SetName(const char *name)
delete cluster_vec;
}
+void AliAnalysisTaskFullpAJets::AlipAJetHistos::FillJetEventCentrality(Double_t leadingJetPt, AliVEvent *event)
+{
+ Double_t event_centrality = event->GetCentrality()->GetCentralityPercentile(fCentralityTag);
+ Double_t event_centrality_ZNA = event->GetCentrality()->GetCentralityPercentile("ZNA");
+
+ fhEventCentralityVsZNA->Fill(event_centrality,event_centrality_ZNA);
+ fhEventCentralityVsZNAPt->Fill(event_centrality,event_centrality_ZNA,leadingJetPt);
+}
+
TList* AliAnalysisTaskFullpAJets::AlipAJetHistos::GetOutputHistos()
{
return fOutput;