fpTPCEventMult(0),
fpRhoScale(0),
+ fpJetEtaProfile(0),
+ fpJetAbsEtaProfile(0),
+ fpChargedJetRProfile(0),
+ fpJetRProfile(0),
+
fpTrackPtProfile(0),
fpClusterPtProfile(0),
+ fpChargedJetEDProfile(0),
+ fpJetEDProfile(0),
+
fTPCRawJets(0),
fEMCalRawJets(0),
fRhoFull0(0),
fEMCalJetThreshold(5),
fVertexWindow(10),
fVertexMaxR(1),
+ fTrackName(0),
+ fClusName(0),
+ fkTChargedName(0),
+ fAkTChargedName(0),
+ fkTFullName(0),
+ fAkTFullName(0),
fOrgTracks(0),
fOrgClusters(0),
fmyAKTFullJets(0),
fpTPCEventMult(0),
fpRhoScale(0),
+ fpJetEtaProfile(0),
+ fpJetAbsEtaProfile(0),
+ fpChargedJetRProfile(0),
+ fpJetRProfile(0),
+
fpTrackPtProfile(0),
fpClusterPtProfile(0),
+ fpChargedJetEDProfile(0),
+ fpJetEDProfile(0),
+
fTPCRawJets(0),
fEMCalRawJets(0),
fRhoFull0(0),
fEMCalJetThreshold(5),
fVertexWindow(10),
fVertexMaxR(1),
+ fTrackName(0),
+ fClusName(0),
+ fkTChargedName(0),
+ fAkTChargedName(0),
+ fkTFullName(0),
+ fAkTFullName(0),
fOrgTracks(0),
fOrgClusters(0),
fmyAKTFullJets(0),
void AliAnalysisTaskFullpAJets::UserExecOnce()
{
- // Get the event tracks from PicoTracks
- TString track_name="PicoTracks";
- fOrgTracks = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(track_name));
+ // Get the event tracks
+ fOrgTracks = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fTrackName));
- // Get the event caloclusters from CaloClustersCorr
- TString cluster_name="caloClustersCorr";
- //TString cluster_name="EmcalClusters";
- fOrgClusters = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(cluster_name));
+ // Get the event caloclusters
+ fOrgClusters = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fClusName));
// Get charged jets
- TString jet_algorithm=Form("Jet_AKTChargedR0%d0_PicoTracks_pT0150",fRJET);
- fmyAKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
-
- jet_algorithm=Form("Jet_KTChargedR0%d0_PicoTracks_pT0150",fRJET);
- fmyKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
+ fmyKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fkTChargedName));
+ fmyAKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fAkTChargedName));
// Get the full jets
- jet_algorithm=Form("Jet_AKTFullR0%d0_PicoTracks_pT0150_caloClustersCorr_ET0300",fRJET);
- fmyAKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
-
- jet_algorithm=Form("Jet_KTFullR0%d0_PicoTracks_pT0150_caloClustersCorr_ET0300",fRJET);
- fmyKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
-
- jet_algorithm="";
+ fmyKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fkTFullName));
+ fmyAKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fAkTFullName));
+
fIsInitialized=kTRUE;
}
//________________________________________________________________________
fhCentrality->Fill(fEventCentrality);
TrackCuts();
- /*
// Reject any event that doesn't have any tracks, i.e. TPC is off
if (fnTracks<1)
{
AliWarning("No PicoTracks, Rejecting Event");
return;
}
- */
+
ClusterCuts();
- /*
if (fnClusters<1)
{
AliInfo("No Corrected CaloClusters, using only charged jets");
PostData(1, fOutput);
return;
}
- */
+
TrackHisto();
ClusterHisto();
// AlipAJetData Class Member Defs
// Constructors
-AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData()
+AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData() :
+
+ fName(0),
+ fIsJetsFull(0),
+ fnTotal(0),
+ fnJets(0),
+ fnJetsSC(0),
+ fJetR(0),
+ fSignalPt(0),
+ fAreaCutFrac(0.6),
+ fPtMaxIndex(0),
+ fPtMax(0),
+ fPtSubLeadingIndex(0),
+ fPtSubLeading(0),
+ fJetsIndex(0),
+ fJetsSCIndex(0),
+ fIsJetInArray(0)
{
fnTotal=0;
// Dummy constructor ALWAYS needed for I/O.
}
-AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData(const char *name, Bool_t isFull, Int_t nEntries)
+AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData(const char *name, Bool_t isFull, Int_t nEntries) :
+
+ fName(0),
+ fIsJetsFull(0),
+ fnTotal(0),
+ fnJets(0),
+ fnJetsSC(0),
+ fJetR(0),
+ fSignalPt(0),
+ fAreaCutFrac(0.6),
+ fPtMaxIndex(0),
+ fPtMax(0),
+ fPtSubLeadingIndex(0),
+ fPtSubLeading(0),
+ fJetsIndex(0),
+ fJetsSCIndex(0),
+ fIsJetInArray(0)
{
SetName(name);
SetIsJetsFull(isFull);
SetSubLeading(0,-9.99E+099);
SetSignalCut(0);
SetAreaCutFraction(0.6);
- SetJetR(0.4);
+ SetJetR(fJetR);
}
// Destructor
// AlipAJetHistos Class Member Defs
// Constructors
-AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos()
+AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos() :
+
+ fOutput(0),
+
+ fh020Rho(0),
+ fh80100Rho(0),
+ fhRho(0),
+ fhRhoCen(0),
+ fh020BSPt(0),
+ fh80100BSPt(0),
+ fhBSPt(0),
+ fhBSPtCen(0),
+ fh020BSPtSignal(0),
+ fh80100BSPtSignal(0),
+ fhBSPtSignal(0),
+ fhBSPtCenSignal(0),
+ fh020DeltaPt(0),
+ fh80100DeltaPt(0),
+ fhDeltaPt(0),
+ fhDeltaPtCen(0),
+ fh020DeltaPtSignal(0),
+ fh80100DeltaPtSignal(0),
+ fhDeltaPtSignal(0),
+ fhDeltaPtCenSignal(0),
+ fh020BckgFlucPt(0),
+ fh80100BckgFlucPt(0),
+ fhBckgFlucPt(0),
+ fhBckgFlucPtCen(0),
+
+ fpRho(0),
+ fpLJetRho(0),
+
+ fName(0),
+ fCentralityTag(0),
+ fCentralityBins(0),
+ fCentralityLow(0),
+ fCentralityUp(0),
+ fPtBins(0),
+ fPtLow(0),
+ fPtUp(0),
+ fRhoPtBins(0),
+ fRhoPtLow(0),
+ fRhoPtUp(0),
+ fDeltaPtBins(0),
+ fDeltaPtLow(0),
+ fDeltaPtUp(0),
+ fBckgFlucPtBins(0),
+ fBckgFlucPtLow(0),
+ fBckgFlucPtUp(0),
+ fLJetPtBins(0),
+ fLJetPtLow(0),
+ fLJetPtUp(0)
{
// Dummy constructor ALWAYS needed for I/O.
}
-AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name)
+AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name) :
+
+ fOutput(0),
+
+ fh020Rho(0),
+ fh80100Rho(0),
+ fhRho(0),
+ fhRhoCen(0),
+ fh020BSPt(0),
+ fh80100BSPt(0),
+ fhBSPt(0),
+ fhBSPtCen(0),
+ fh020BSPtSignal(0),
+ fh80100BSPtSignal(0),
+ fhBSPtSignal(0),
+ fhBSPtCenSignal(0),
+ fh020DeltaPt(0),
+ fh80100DeltaPt(0),
+ fhDeltaPt(0),
+ fhDeltaPtCen(0),
+ fh020DeltaPtSignal(0),
+ fh80100DeltaPtSignal(0),
+ fhDeltaPtSignal(0),
+ fhDeltaPtCenSignal(0),
+ fh020BckgFlucPt(0),
+ fh80100BckgFlucPt(0),
+ fhBckgFlucPt(0),
+ fhBckgFlucPtCen(0),
+
+ fpRho(0),
+ fpLJetRho(0),
+
+ fName(0),
+ fCentralityTag(0),
+ fCentralityBins(0),
+ fCentralityLow(0),
+ fCentralityUp(0),
+ fPtBins(0),
+ fPtLow(0),
+ fPtUp(0),
+ fRhoPtBins(0),
+ fRhoPtLow(0),
+ fRhoPtUp(0),
+ fDeltaPtBins(0),
+ fDeltaPtLow(0),
+ fDeltaPtUp(0),
+ fBckgFlucPtBins(0),
+ fBckgFlucPtLow(0),
+ fBckgFlucPtUp(0),
+ fLJetPtBins(0),
+ fLJetPtLow(0),
+ fLJetPtUp(0)
{
SetName(name);
SetCentralityTag("V0A");
Init();
}
-AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name, const char *centag)
+AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name, const char *centag) :
+
+ fOutput(0),
+
+ fh020Rho(0),
+ fh80100Rho(0),
+ fhRho(0),
+ fhRhoCen(0),
+ fh020BSPt(0),
+ fh80100BSPt(0),
+ fhBSPt(0),
+ fhBSPtCen(0),
+ fh020BSPtSignal(0),
+ fh80100BSPtSignal(0),
+ fhBSPtSignal(0),
+ fhBSPtCenSignal(0),
+ fh020DeltaPt(0),
+ fh80100DeltaPt(0),
+ fhDeltaPt(0),
+ fhDeltaPtCen(0),
+ fh020DeltaPtSignal(0),
+ fh80100DeltaPtSignal(0),
+ fhDeltaPtSignal(0),
+ fhDeltaPtCenSignal(0),
+ fh020BckgFlucPt(0),
+ fh80100BckgFlucPt(0),
+ fhBckgFlucPt(0),
+ fhBckgFlucPtCen(0),
+
+ fpRho(0),
+ fpLJetRho(0),
+
+ fName(0),
+ fCentralityTag(0),
+ fCentralityBins(0),
+ fCentralityLow(0),
+ fCentralityUp(0),
+ fPtBins(0),
+ fPtLow(0),
+ fPtUp(0),
+ fRhoPtBins(0),
+ fRhoPtLow(0),
+ fRhoPtUp(0),
+ fDeltaPtBins(0),
+ fDeltaPtLow(0),
+ fDeltaPtUp(0),
+ fBckgFlucPtBins(0),
+ fBckgFlucPtLow(0),
+ fBckgFlucPtUp(0),
+ fLJetPtBins(0),
+ fLJetPtLow(0),
+ fLJetPtUp(0)
{
SetName(name);
SetCentralityTag(centag);
#ifndef AliAnalysisTaskFullpAJets_H
#define AliAnalysisTaskFullpAJets_H
+class TString;
class TH1D;
class TH2D;
class TH3D;
{
fClusterMinPt = pT;
}
- /*
- inline Double_t GetScaleFactor()
+
+ // Used to set Tracks collection name
+ inline void SetTrackName(TString name)
+ {
+ fTrackName = name;
+ };
+
+ // Used to set Clusters collection name
+ inline void SetClusterName(TString name)
+ {
+ fClusName = name;
+ };
+
+ // Used to set kT Charged Jet collection name
+ inline void SetkTChargedJetName(TString name)
+ {
+ fkTChargedName = name;
+ };
+
+ // Used to set anti-kT Charged Jet collection name
+ inline void SetAkTChargedJetName(TString name)
{
- if (fRhoCharged>0)
- {
- return fRhoFull/fRhoCharged;
- }
- return -1;
+ fAkTChargedName = name;
};
- */
+
+ // Used to set kT Full Jet collection name
+ inline void SetkTFullJetName(TString name)
+ {
+ fkTFullName = name;
+ };
+
+ // Used to set anti-kT Full Jet collection name
+ inline void SetAkTFullJetName(TString name)
+ {
+ fAkTFullName = name;
+ };
+
private:
TList *fOutput; // Output list
Double_t fVertexWindow;
Double_t fVertexMaxR;
+ // Tracks and Clusters string names
+ TString fTrackName;
+ TString fClusName;
+
+ // Jet Finder string names
+ TString fkTChargedName;
+ TString fAkTChargedName;
+ TString fkTFullName;
+ TString fAkTFullName;
+
// Dynamic Array variables
TClonesArray *fOrgTracks; //!
TClonesArray *fOrgClusters; //!
-AliAnalysisTaskFullpAJets *AddTaskFullpAJets(const Double_t jetRadius=0.4)
+AliAnalysisTaskFullpAJets *AddTaskFullpAJets(const Double_t jetRadius=0.4, Bool_t IsMC=kFALSE, const char* track_name="PicoTracks", const char* clus_name="caloClusters", const char* corrclus_name="caloClustersCorr", const char* mcpart_name="MCParticles", const char* Centrality_name="V0A")
{
- const char *usedTracks = "PicoTracks";
- const char *usedClusters = "caloClusters";
- const char *outClusName = "caloClustersCorr";
- const char *centEst = "V0A";
+ char *usedTracks = track_name;
+ char *usedClusters = clus_name;
+ char *outClusName = corrclus_name;
+ char *usedMCParticles = mcpart_name;
+ char *centEst = Centrality_name;
const Double_t minTrackPt=0.15;
const Double_t minClusterPt=0.30;
+ const Double_t minMCPartPt=0.00;
Double_t scaleFactor=1.45; // Obtained from previous runs...
// Some constants for the jet finders
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
- // ########## CHARGED JETS ##########
- jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+ // Add User Task
+ AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
- jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+ if (IsMC == kTRUE)
+ {
+ task->SetTrackName(usedMCParticles);
+ task->SetClusterName("");
+ task->SetTrackPtCut(minMCPartPt);
+ task->SetClusterPtCut(minMCPartPt);
+
+ // ########## CHARGED JETS ##########
+ jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt);
+ task->SetkTChargedJetName(jetFinderTask->GetName());
+
+ jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cANTIKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt);
+ task->SetAkTChargedJetName(jetFinderTask->GetName());
+
+ // ########## FULL JETS ##########
+ // No Full jets or clusters are used if run over MCParticles!
+ task->SetkTFullJetName("");
+ task->SetAkTFullJetName("");
+ }
+ else
+ {
+ task->SetTrackName(usedTracks);
+ task->SetClusterName(outClusName);
+ task->SetTrackPtCut(minTrackPt);
+ task->SetClusterPtCut(minClusterPt);
- // ########## FULL JETS ##########
- // last two settings are for min pt tracks/clusters
- // anti-kT
- jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+ // ########## CHARGED JETS ##########
+ jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+ task->SetkTChargedJetName(jetFinderTask->GetName());
+
+ jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+ task->SetAkTChargedJetName(jetFinderTask->GetName());
+
+ // ########## FULL JETS ##########
+ jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+ task->SetkTFullJetName(jetFinderTask->GetName());
- // kT
- jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+ jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+ task->SetAkTFullJetName(jetFinderTask->GetName());
+ }
- // Add User Task
- AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
task->SetRjet(drjet);
task->SetCentralityTag(centEst);
task->SetScaleFactor(scaleFactor);
- task->SetTrackPtCut(minTrackPt);
- task->SetClusterPtCut(minClusterPt);
task->SelectCollisionCandidates(AliVEvent::kINT7);
mgr->AddTask(task);