void AliAnalysisTaskChargedJetsPA::Init()
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Creating Histograms." << std::endl;
+ AliInfo("Creating histograms.");
#endif
// NOTE: Track & Cluster & QA histograms
if (fAnalyzeQA)
}
//________________________________________________________________________
-AliAnalysisTaskChargedJetsPA::AliAnalysisTaskChargedJetsPA(const char *name, const char* trackArrayName, const char* clusterArrayName, const char* jetArrayName, const char* backgroundJetArrayName) : AliAnalysisTaskSE(name), fOutputList(0), fAnalyzeQA(1), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasClusters(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fClusterArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fClusterArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fKTDeltaPtEtaBin(3), fTrackBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fBackgroundEtaBins(5), fJetBgrdCorrectionFactors(0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fClusterEtaWindow(0.7), fVertexWindow(10.0), fVertexMaxR(1.0), fMinVertexContributors(1), fMinTrackPt(0.150), fMinClusterPt(0.300), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0)
+AliAnalysisTaskChargedJetsPA::AliAnalysisTaskChargedJetsPA(const char *name, const char* trackArrayName, const char* clusterArrayName, const char* jetArrayName, const char* backgroundJetArrayName) : AliAnalysisTaskSE(name), fOutputList(0), fAnalyzeQA(1), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasClusters(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fClusterArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fClusterArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fKTDeltaPtEtaBin(3), fTrackBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fBackgroundEtaBins(5), fJetBgrdCorrectionFactors(0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fClusterEtaWindow(0.7), fVertexWindow(10.0), fVertexMaxR(1.0), fMinTrackPt(0.150), fMinClusterPt(0.300), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calling Constructor." << std::endl;
+ AliInfo("Calling constructor.");
#endif
// Constructor
fHistList = new TList();
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calling Constructor DONE." << std::endl;
+ AliInfo("Constructor done.");
#endif
}
void AliAnalysisTaskChargedJetsPA::ExecOnce()
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Starting ExecOnce." << std::endl;
+ AliInfo("Starting ExecOnce.");
#endif
fInitialized = kTRUE;
Init();
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": ExecOnce done." << std::endl;
+ AliInfo("ExecOnce done.");
#endif
}
Double_t AliAnalysisTaskChargedJetsPA::GetCorrectedJetPt(AliEmcalJet* jet, Double_t background, Bool_t useEtaCorrection)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting corrected jet spectra." << std::endl;
+ AliInfo("Getting corrected jet spectra.");
#endif
if(!jet)
correctedPt = jet->Pt() - tmpCorrectedBackground * jet->Area();
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got corrected jet spectra." << std::endl;
+ AliInfo("Got corrected jet spectra.");
#endif
return correctedPt;
void AliAnalysisTaskChargedJetsPA::GetDeltaPt(Double_t& deltaPt, Double_t rho, Int_t numberExcludeLeadingJets, Int_t usedEtaBin, Bool_t useEtaCorrection)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting Delta Pt." << std::endl;
+ AliInfo("Getting Delta Pt.");
#endif
// Define the tmp delta pt
if (coneValid)
deltaPt = GetConePt(tmpRandConeEta,tmpRandConePhi,fRandConeRadius) - (rho*fRandConeRadius*fRandConeRadius*TMath::Pi());
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got Delta Pt." << std::endl;
+ AliInfo("Got Delta Pt.");
#endif
}
void AliAnalysisTaskChargedJetsPA::GetKTBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMedian, Double_t& areaMean, Double_t etaMin, Double_t etaMax)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting KT background density." << std::endl;
+ AliInfo("Getting KT background density.");
#endif
// static declaration. Advantage: more speed. Disadvantage: Problematic for events with more than 1024 jets :)
areaMean = TMath::Mean(jetCountAccepted, tmpAreas);
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got KT background density." << std::endl;
+ AliInfo("Got KT background density.");
#endif
}
void AliAnalysisTaskChargedJetsPA::GetKTBackground2Density(Int_t numberExcludeLeadingJets, Double_t& rhoMedian, Double_t& areaMean, Double_t etaMin, Double_t etaMax)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting KT background 2 density." << std::endl;
+ AliInfo("Getting KT background 2 density.");
#endif
// static declaration. Advantage: more speed. Disadvantage: Problematic for events with more than 1024 jets :)
areaMean = TMath::Mean(jetCountAccepted, tmpAreas);
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got KT background 2 density." << std::endl;
+ AliInfo("Got KT background 2 density.");
#endif
}
Int_t AliAnalysisTaskChargedJetsPA::GetRCBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMean, Double_t& rhoMedian, Double_t etaMin, Double_t etaMax, Int_t numberRandCones)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting RC background density." << std::endl;
+ AliInfo("Getting RC background density.");
#endif
if(numberRandCones == 0)
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got RC background density." << std::endl;
+ AliInfo("Got RC background density.");
#endif
return numAcceptedRCs;
}
void AliAnalysisTaskChargedJetsPA::GetTrackBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMean, Double_t& area, Double_t etaMin, Double_t etaMax)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting track background density." << std::endl;
+ AliInfo("Getting track background density.");
#endif
Double_t summedTracksPt = 0.0;
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got track background density." << std::endl;
+ AliInfo("Got track background density.");
#endif
}
void AliAnalysisTaskChargedJetsPA::GetTrackBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMean, Double_t& area, AliEmcalJet* excludeJet1, AliEmcalJet* excludeJet2, Bool_t doSearchPerpendicular)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Getting track background density." << std::endl;
+ AliInfo("Getting track background density.");
#endif
// Setting invalid values
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Got track background density." << std::endl;
+ AliInfo("Got track background density.");
#endif
}
void AliAnalysisTaskChargedJetsPA::Calculate(AliVEvent* event)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Starting Calculate." << std::endl;
+ AliInfo("Starting Calculate().");
#endif
////////////////////// NOTE: initialization & casting
// Additional cuts
FillHistogram("hNumberEvents", 0.5); // number of events before manual cuts
- if ((event->GetPrimaryVertex()->GetNContributors() < fMinVertexContributors) || (TMath::Abs(event->GetPrimaryVertex()->GetZ()) > fVertexWindow))
+ if ((event->GetPrimaryVertex()->GetNContributors() < 1) || (TMath::Abs(event->GetPrimaryVertex()->GetZ()) > fVertexWindow))
return;
if (TMath::Sqrt(event->GetPrimaryVertex()->GetX()*event->GetPrimaryVertex()->GetX() + event->GetPrimaryVertex()->GetY()*event->GetPrimaryVertex()->GetY()) > fVertexMaxR)
FillHistogram("hNumberEvents", 1.5); // number of events after manual cuts
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calculate:Init done" << std::endl;
+ AliInfo("Calculate()::Init done.");
#endif
////////////////////// NOTE: Get Centrality, (Leading)Signal jets and Background
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calculate:Centrality&SignalJets&Background-Calculation done" << std::endl;
+ AliInfo("Calculate()::Centrality&SignalJets&Background-Calculation done.");
#endif
////////////////////// NOTE: Pythia histograms
if(fAnalyzePythia)
FillHistogram("hPythiaXSection", GetPtHardBin()+0.1, fCrossSection);
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calculate:Pythia done" << std::endl;
+ AliInfo("Calculate()::Pythia done.");
#endif
}
}
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calculate:QA done" << std::endl;
+ AliInfo("Calculate()::QA done.");
#endif
////////////////////// NOTE: Jet analysis and calculations
} //endif AnalyzeJets
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calculate:Jets done" << std::endl;
+ AliInfo("Calculate()::Jets done.");
#endif
////////////////////// NOTE: Background analysis
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Calculate:Bckgrd done" << std::endl;
+ AliInfo("Calculate()::Background done.");
#endif
}
// and number of trials from pyxsec.root
//
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Notify started." << std::endl;
+ AliInfo("Notify started.");
#endif
if(fAnalyzePythia)
// not an archive take the basename....
file.ReplaceAll(gSystem->BaseName(file.Data()),"");
}
- #ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Notify::Filename=" << file.Data() << std::endl;
- #endif
-
TFile *fxsec = TFile::Open(Form("%s%s",file.Data(),"pyxsec.root")); // problem that we cannot really test the existance of a file in a archive so we have to lvie with open error message from root
if(!fxsec){
fxsec->Close();
}
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": Notify::fCrossSection=" << fCrossSection << std::endl;
- std::cout << "Task " << GetName() << ": Notify::fTrials=" << fTrials << std::endl;
- std::cout << "Task " << GetName() << ": Notify ended." << std::endl;
+ AliInfo("Notify ended.");
#endif
}
return kTRUE;
void AliAnalysisTaskChargedJetsPA::UserExec(Option_t *)
{
#ifdef DEBUGMODE
- std::cout << "Task " << GetName() << ": UserExec started." << std::endl;
+ AliInfo("UserExec() started.");
#endif
Calculate(InputEvent());
class AliAnalysisTaskChargedJetsPA : public AliAnalysisTaskSE {
public:
- AliAnalysisTaskChargedJetsPA() : AliAnalysisTaskSE(), fOutputList(0), fAnalyzeQA(1), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasClusters(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fClusterArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fClusterArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fKTDeltaPtEtaBin(3), fTrackBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fBackgroundEtaBins(5), fJetBgrdCorrectionFactors(0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fClusterEtaWindow(0.7), fVertexWindow(10.0), fVertexMaxR(1.0), fMinVertexContributors(1), fMinTrackPt(0.150), fMinClusterPt(0.300), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0) {}
+ AliAnalysisTaskChargedJetsPA() : AliAnalysisTaskSE(), fOutputList(0), fAnalyzeQA(1), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasClusters(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fClusterArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fClusterArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fKTDeltaPtEtaBin(3), fTrackBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fBackgroundEtaBins(5), fJetBgrdCorrectionFactors(0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fClusterEtaWindow(0.7), fVertexWindow(10.0), fVertexMaxR(1.0), fMinTrackPt(0.150), fMinClusterPt(0.300), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0) {}
AliAnalysisTaskChargedJetsPA(const char *name, const char* trackArrayName, const char* clusterArrayName, const char* jetArrayName, const char* backgroundJetArrayName);
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
-
+
// Setters
void SetAnalyzeTracks(Bool_t val) {fAnalyzeQA = val;}
void SetAnalyzeJets(Bool_t val) {fAnalyzeJets = val;}
void SetTrackBackgroundConeRadius(Double_t radius) {fTrackBackgroundConeRadius = radius;}
void SetDijetMaxAngleDeviation(Double_t degrees) {fDijetMaxAngleDeviation = degrees/360.0 * TMath::TwoPi();} // degrees are more comfortable
- void SetAcceptanceWindows(Double_t trackEta, Double_t vertexZ, Double_t vertexMaxR, Int_t minVtxContr, Double_t signalJetRadius, Double_t bgrdJetRadius)
+ void SetAcceptanceWindows(Double_t trackEta, Double_t vertexZ, Double_t vertexMaxR, Double_t signalJetRadius, Double_t bgrdJetRadius)
{
- fMinVertexContributors = minVtxContr;
fVertexWindow = vertexZ;
fVertexMaxR = vertexMaxR;
fTrackEtaWindow = trackEta;
fBackgroundJetEtaWindow = fTrackEtaWindow-fBackgroundJetRadius;
}
- void SetCorrectionFactors(TH1* histo)
+ void SetCorrectionFactors(TH2D* histo)
{
// COPY given histogram
- if (strcmp(histo->IsA()->GetName(),"TH2D") == 0)
- fJetBgrdCorrectionFactors = new TH2D(*(dynamic_cast<TH2D*>(histo)));
- else if (strcmp(histo->IsA()->GetName(),"TH2F") == 0)
- fJetBgrdCorrectionFactors = new TH2D(*(dynamic_cast<TH2D*>(histo)));
+ fJetBgrdCorrectionFactors = new TH2D(*histo);
if (!fJetBgrdCorrectionFactors)
AliError(Form("Setting the correction factors with %s (%s) failed! You won't get eta-corrected spectra!", histo->GetName(), histo->IsA()->GetName()));
Double_t fClusterEtaWindow; // +- window in eta for clusters
Double_t fVertexWindow; // +- window in Z for the vertex
Double_t fVertexMaxR; // +- window in R for the vertex (distance in xy-plane)
- Int_t fMinVertexContributors; // Min contributors to vertex
Double_t fMinTrackPt; // Min track pt to be accepted
Double_t fMinClusterPt; // Min track pt to be accepted
Double_t fMinJetPt; // Min jet pt to be accepted
Double_t trackEtaWindow = 0.9,
Double_t vertexWindow = 10.0,
Double_t vertexMaxR = 1.0,
- Int_t minVertexContributors = 1,
Double_t minJetPt = 5.0, // signal jet min pt
Double_t dijetLeadingMinPt = 10.0,
Double_t dijetMaxAngleDev = 10.0,
triggerName = "kAny";
else if(trigger == AliVEvent::kINT7)
triggerName = "kINT7";
+ else if(trigger == AliVEvent::kMB)
+ triggerName = "kMB";
else if(trigger == AliVEvent::kEMC7)
triggerName = "kEMC7";
else if(trigger == AliVEvent::kEMCEJE)
}
TString myContName("");
if(isMC)
- myContName = Form("MCChargedJets_pA_R0%2.0f_%s",jetRadius*100,triggerName.Data());
+ myContName = Form("ChargedJetsPA_R0%2.0f_%s_MC",jetRadius*100,triggerName.Data());
else
- myContName = Form("ChargedJets_pA_R0%2.0f_%s",jetRadius*100,triggerName.Data());
+ myContName = Form("ChargedJetsPA_R0%2.0f_%s",jetRadius*100,triggerName.Data());
// #### Add necessary jet finder tasks
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
// #### Define analysis task
AliAnalysisTaskChargedJetsPA *task = NULL;
contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, kFileName);
- task = new AliAnalysisTaskChargedJetsPA(Form("Analysis_pA_%s_%s", jetFinderTask->GetName(), triggerName.Data()), usedTracks, usedClusters, jetFinderTask->GetName(),jetFinderTaskKT->GetName());
+ task = new AliAnalysisTaskChargedJetsPA(Form("AnalysisPA_%s_%s", jetFinderTask->GetName(), triggerName.Data()), usedTracks, usedClusters, jetFinderTask->GetName(),jetFinderTaskKT->GetName());
// #### Task preferences
- task->SetAcceptanceWindows(trackEtaWindow, vertexWindow, vertexMaxR, minVertexContributors, jetRadius, jetRadius);
+ task->SetAcceptanceWindows(trackEtaWindow, vertexWindow, vertexMaxR, jetRadius, jetRadius);
task->SetSignalJetMinPt(minJetPt);
task->SetSignalJetMinArea(0.6*jetRadius*jetRadius*TMath::Pi());
task->SetDijetLeadingMinPt(dijetLeadingMinPt);