Int_t ncellsCut = 0;
Float_t ecellsCut = 0;
- if( GetDebug() > 0 )
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - %s cell entries %d\n", GetCalorimeterString().Data(), ncells );
+ AliDebug(1,Form("%s cell entries %d", GetCalorimeterString().Data(), ncells));
//Init arrays and used variables
Int_t *nCellsInModule = new Int_t [fNModules];
for (Int_t iCell = 0; iCell < cells->GetNumberOfCells(); iCell++)
{
- if(GetDebug() > 2)
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - Cell : amp %f, absId %d \n", cells->GetAmplitude(iCell), cells->GetCellNumber(iCell));
+ AliDebug(2,Form("Cell : amp %f, absId %d", cells->GetAmplitude(iCell), cells->GetCellNumber(iCell)));
Int_t nModule = GetModuleNumberCellIndexes(cells->GetCellNumber(iCell),GetCalorimeter(), icol, irow, iRCU);
- if(GetDebug() > 2)
- printf("\t module %d, column %d, row %d \n", nModule,icol,irow);
+
+ AliDebug(2,Form("\t module %d, column %d, row %d", nModule,icol,irow));
if(nModule < fNModules)
{
if(time < fTimeCutMin || time > fTimeCutMax)
{
- if(GetDebug() > 0 )
- printf("AliAnaCalorimeterQA - Remove cell with Time %f\n",time);
+ AliDebug(1,Form("Remove cell with Time %f",time));
continue;
}
//Number of cells per module
for(Int_t imod = 0; imod < fNModules; imod++ )
{
- if(GetDebug() > 1)
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - module %d calo %s cells %d\n", imod, GetCalorimeterString().Data(), nCellsInModule[imod]);
+ AliDebug(1,Form("Module %d calo %s cells %d", imod, GetCalorimeterString().Data(), nCellsInModule[imod]));
fhNCellsMod->Fill(nCellsInModule[imod],imod) ;
}
{
for (Int_t iCell = 0; iCell < cells->GetNumberOfCells(); iCell++)
{
- if(GetDebug() > 2)
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - Cell : amp %f, absId %d \n", cells->GetAmplitude(iCell), cells->GetCellNumber(iCell));
+ AliDebug(2,Form("Cell : amp %f, absId %d", cells->GetAmplitude(iCell), cells->GetCellNumber(iCell)));
Int_t nModule = GetModuleNumberCellIndexes(cells->GetCellNumber(iCell),GetCalorimeter(), icol, irow, iRCU);
- if(GetDebug() > 2)
- printf("\t module %d, column %d, row %d \n", nModule,icol,irow);
+
+ AliDebug(2,Form("\t module %d, column %d, row %d", nModule,icol,irow));
if(nModule < fNModules)
{
if(time < fTimeCutMin || time > fTimeCutMax)
{
- if(GetDebug() > 0 )
- printf("AliAnaCalorimeterQA - Remove cell with Time %f\n",time);
+ AliDebug(1,Form("Remove cell with Time %f",time));
continue;
}
Float_t phi = fClusterMomentum.Phi();
if(phi < 0) phi +=TMath::TwoPi();
- if(GetDebug() > 0)
- printf("AliAnaCalorimeterQA::ClusterHistograms() - cluster: E %2.3f, pT %2.3f, eta %2.3f, phi %2.3f \n",e,pt,eta,phi*TMath::RadToDeg());
+ AliDebug(1,Form("cluster: E %2.3f, pT %2.3f, eta %2.3f, phi %2.3f",e,pt,eta,phi*TMath::RadToDeg()));
fhE ->Fill(e);
if(nModule >=0 && nModule < fNModules) fhEMod->Fill(e,nModule);
Int_t *nClustersInModule = new Int_t[fNModules];
for(Int_t imod = 0; imod < fNModules; imod++ ) nClustersInModule[imod] = 0;
- if(GetDebug() > 0)
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - In %s there are %d clusters \n", GetCalorimeterString().Data(), nCaloClusters);
+ AliDebug(1,Form("In %s there are %d clusters", GetCalorimeterString().Data(), nCaloClusters));
// Loop over CaloClusters
for(Int_t iclus = 0; iclus < nCaloClusters; iclus++)
{
- if(GetDebug() > 0)
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - cluster: %d/%d, data %d \n",
- iclus+1,nCaloClusters,GetReader()->GetDataType());
+ AliDebug(1,Form("Cluster: %d/%d, data %d",iclus+1,nCaloClusters,GetReader()->GetDataType()));
AliVCluster* clus = (AliVCluster*) caloClusters->At(iclus);
Double_t tof = clus->GetTOF()*1.e9;
if( tof < fTimeCutMin || tof > fTimeCutMax )
{
- if(GetDebug() > 0 )printf("AliAnaCalorimeterQA - Remove cluster with TOF %f\n",tof);
+ AliDebug(1,Form("Remove cluster with TOF %f",tof));
continue;
}
// Number of clusters per module
for(Int_t imod = 0; imod < fNModules; imod++ )
{
- if(GetDebug() > 1)
- printf("AliAnaCalorimeterQA::ClusterLoopHistograms() - module %d calo %s clusters %d\n", imod, GetCalorimeterString().Data(), nClustersInModule[imod]);
+ AliDebug(1,Form("Module %d calo %s clusters %d", imod, GetCalorimeterString().Data(), nClustersInModule[imod]));
fhNClustersMod->Fill(nClustersInModule[imod],imod);
}
if(!labels || nLabels<=0)
{
- if(GetDebug() > 1) printf("AliAnaCalorimeterQA::ClusterMCHistograms() - Strange, labels array %p, n labels %d \n", labels,nLabels);
+ AliWarning(Form("Strange, labels array %p, n labels %d", labels,nLabels));
return kFALSE;
}
- if(GetDebug() > 1)
- {
- printf("AliAnaCalorimeterQA::ClusterMCHistograms() - Primaries: nlabels %d\n",nLabels);
- }
+ AliDebug(1,Form("Primaries: nlabels %d",nLabels));
Float_t e = fClusterMomentum.E();
Float_t eta = fClusterMomentum.Eta();
if(label < 0)
{
- if(GetDebug() >= 0) printf("AliAnaCalorimeterQA::ClusterMCHistograms() *** bad label ***: label %d \n", label);
+ AliDebug(1,Form(" *** bad label ***: label %d", label));
return kFALSE;
}
if( label >= GetMCStack()->GetNtrack())
{
- if(GetDebug() >= 0) printf("AliAnaCalorimeterQA::ClusterMCHistograms() *** large label ***: label %d, n tracks %d \n", label, GetMCStack()->GetNtrack());
+ AliDebug(1,Form("*** large label ***: label %d, n tracks %d", label, GetMCStack()->GetNtrack()));
return kFALSE;
}
vyMC = primary->Vy();
iParent = primary->GetFirstMother();
- if(GetDebug() > 1 )
- {
- printf("AliAnaCalorimeterQA::ClusterMCHistograms() - Cluster most contributing mother: \n");
- printf("\t Mother label %d, pdg %d, %s, status %d, parent %d \n",iMother, pdg0, primary->GetName(),status, iParent);
- }
+ AliDebug(1,"Cluster most contributing mother:");
+ AliDebug(1,Form("\t Mother label %d, pdg %d, %s, status %d, parent %d",iMother, pdg0, primary->GetName(),status, iParent));
+
//Get final particle, no conversion products
if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCConversion))
primary = GetMCStack()->Particle(iParent);
pdg = TMath::Abs(primary->GetPdgCode());
- if(GetDebug() > 1 ) printf("AliAnaCalorimeterQA::ClusterMCHistograms() - Converted cluster!. Find before conversion: \n");
+ AliDebug(2,"Converted cluster!. Find before conversion:");
while((pdg == 22 || pdg == 11) && status != 1)
{
break;
}
- if(GetDebug() > 1 )printf("\t pdg %d, index %d, %s, status %d \n",pdg, iMother, primary->GetName(),status);
+ AliDebug(2,Form("\t pdg %d, index %d, %s, status %d",pdg, iMother, primary->GetName(),status));
}
- if(GetDebug() > 1 )
- {
- printf("AliAnaCalorimeterQA::ClusterHistograms() - Converted Cluster mother before conversion: \n");
- printf("\t Mother label %d, pdg %d, %s, status %d, parent %d \n",iMother, pdg, primary->GetName(), status, iParent);
- }
+ AliDebug(1,"Converted Cluster mother before conversion:");
+ AliDebug(1,Form("\t Mother label %d, pdg %d, %s, status %d, parent %d",iMother, pdg, primary->GetName(), status, iParent));
}
if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPi0) ||
GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCEta))
{
- if(GetDebug() > 1 ) printf("AliAnaCalorimeterQA::ClusterHistograms() - Overlapped Meson decay!, Find it: \n");
+ AliDebug(2,"Overlapped Meson decay!, Find it:");
while(pdg != 111 && pdg != 221)
{
pdg = TMath::Abs(primary->GetPdgCode());
iParent = primary->GetFirstMother();
- if( iParent < 0 )break;
+ if( iParent < 0 ) break;
- if(GetDebug() > 1 ) printf("\t pdg %d, %s, index %d\n",pdg, primary->GetName(),iMother);
+ AliDebug(2,Form("\t pdg %d, %s, index %d",pdg, primary->GetName(),iMother));
if(iMother==-1)
{
- printf("AliAnaCalorimeterQA::ClusterHistograms() - Tagged as Overlapped photon but meson not found, why?\n");
+ AliWarning("Tagged as Overlapped photon but meson not found, why?");
//break;
}
}
- if(GetDebug() > 2 ) printf("AliAnaCalorimeterQA::ClusterHistograms() - Overlapped %s decay, label %d \n",
- primary->GetName(),iMother);
+ AliDebug(2,Form("Overlapped %s decay, label %d",primary->GetName(),iMother));
}
eMC = primary->Energy();
vyMC = aodprimary->Yv();
iParent = aodprimary->GetMother();
- if( GetDebug() > 1 )
- {
- printf("AliAnaCalorimeterQA::ClusterHistograms() - Cluster most contributing mother: \n");
- printf("\t Mother label %d, pdg %d, Primary? %d, Physical Primary? %d, parent %d \n",
- iMother, pdg0, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary(), iParent);
- }
+ AliDebug(1,"Cluster most contributing mother:");
+ AliDebug(1,Form("\t Mother label %d, pdg %d, Primary? %d, Physical Primary? %d, parent %d",
+ iMother, pdg0, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary(), iParent));
//Get final particle, no conversion products
if( GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCConversion) )
{
- if( GetDebug() > 1 )
- printf("AliAnaCalorimeterQA::ClusterHistograms() - Converted cluster!. Find before conversion: \n");
+ AliDebug(2,"Converted cluster!. Find before conversion:");
//Get the parent
aodprimary = (AliAODMCParticle*)(GetReader()->GetAODMCParticles())->At(iParent);
pdg = TMath::Abs(aodprimary->GetPdgCode());
break;
}
- if( GetDebug() > 1 )
- printf("\t pdg %d, index %d, Primary? %d, Physical Primary? %d \n",
- pdg, iMother, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary());
+ AliDebug(2,Form("\t pdg %d, index %d, Primary? %d, Physical Primary? %d",
+ pdg, iMother, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary()));
}
- if( GetDebug() > 1 )
- {
- printf("AliAnaCalorimeterQA::ClusterHistograms() - Converted Cluster mother before conversion: \n");
- printf("\t Mother label %d, pdg %d, parent %d, Primary? %d, Physical Primary? %d \n",
- iMother, pdg, iParent, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary());
- }
+ AliDebug(1,"Converted Cluster mother before conversion:");
+ AliDebug(1,Form("\t Mother label %d, pdg %d, parent %d, Primary? %d, Physical Primary? %d",
+ iMother, pdg, iParent, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary()));
+
}
//Overlapped pi0 (or eta, there will be very few), get the meson
if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPi0) ||
GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCEta))
{
- if(GetDebug() > 1 ) printf("AliAnaCalorimeterQA::ClusterHistograms() - Overlapped Meson decay!, Find it: PDG %d, mom %d \n",pdg, iMother);
+ AliDebug(2,Form("Overlapped Meson decay!, Find it: PDG %d, mom %d",pdg, iMother));
while(pdg != 111 && pdg != 221)
{
if( iParent < 0 ) break;
- if( GetDebug() > 1 ) printf("\t pdg %d, index %d\n",pdg, iMother);
+ AliDebug(2,Form("\t pdg %d, index %d",pdg, iMother));
if(iMother==-1)
{
- printf("AliAnaCalorimeterQA::ClusterHistograms() - Tagged as Overlapped photon but meson not found, why?\n");
+ AliWarning("Tagged as Overlapped photon but meson not found, why?");
//break;
}
}
- if(GetDebug() > 2 ) printf("AliAnaCalorimeterQA::ClusterHistograms() - Overlapped %s decay, label %d \n",
- aodprimary->GetName(),iMother);
+ AliDebug(2,Form("Overlapped %s decay, label %d",aodprimary->GetName(),iMother));
}
status = aodprimary->IsPrimary();
if(!caloClustersEMCAL || !caloClustersPHOS)
{
- if( GetDebug() > 0 ) printf("AliAnaCalorimeterQA::Correlate() - PHOS (%p) or EMCAL (%p) clusters array not available, do not correlate\n",
- caloClustersPHOS,caloClustersEMCAL);
+ AliDebug(1,Form("PHOS (%p) or EMCAL (%p) clusters array not available, do not correlate",caloClustersPHOS,caloClustersEMCAL));
return ;
}
if(!cellsEMCAL || !cellsPHOS)
{
- if( GetDebug() > 0 ) printf("AliAnaCalorimeterQA::Correlate() - PHOS (%p) or EMCAL (%p) cells array ot available, do not correlate\n",
- cellsPHOS,cellsEMCAL);
+ AliDebug(1,Form("PHOS (%p) or EMCAL (%p) cells array ot available, do not correlate",cellsPHOS,cellsEMCAL));
return ;
}
fhCaloEvPECells ->Fill(ep ,sumCellEnergyEMCAL);
}
- if(GetDebug() > 0 )
- {
- printf("AliAnaCalorimeterQA::Correlate(): \n");
- printf("\t EMCAL: N cells %d, N clusters %d, summed E cells %f, summed E clusters %f \n",
- ncellsEMCAL,nclEMCAL, sumCellEnergyEMCAL,sumClusterEnergyEMCAL);
- printf("\t PHOS : N cells %d, N clusters %d, summed E cells %f, summed E clusters %f \n",
- ncellsPHOS,nclPHOS,sumCellEnergyPHOS,sumClusterEnergyPHOS);
- printf("\t V0 : Signal %d, Multiplicity %d, Track Multiplicity %d \n", v0S,v0M,trM);
- printf("\t centrality : %f, Event plane angle %f \n", cen,ep);
- }
-
+ AliDebug(1,"Correlate():");
+ AliDebug(1,Form("\t EMCAL: N cells %d, N clusters %d, summed E cells %f, summed E clusters %f",
+ ncellsEMCAL,nclEMCAL, sumCellEnergyEMCAL,sumClusterEnergyEMCAL));
+ AliDebug(1,Form("\t PHOS : N cells %d, N clusters %d, summed E cells %f, summed E clusters %f",
+ ncellsPHOS,nclPHOS,sumCellEnergyPHOS,sumClusterEnergyPHOS));
+ AliDebug(1,Form("\t V0 : Signal %d, Multiplicity %d, Track Multiplicity %d", v0S,v0M,trM));
+ AliDebug(1,Form("\t centrality : %f, Event plane angle %f", cen,ep));
+
}
//__________________________________________________
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaCalorimeterQA ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaCalorimeterQA ---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Calorimeter: %s\n",GetCalorimeterString().Data()) ;
+ snprintf(onePar,buffersize,"Calorimeter: %s;",GetCalorimeterString().Data()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Time Cut : %2.2f < T < %2.2f ns \n",fTimeCutMin, fTimeCutMax) ;
+ snprintf(onePar,buffersize,"Time Cut : %2.2f < T < %2.2f ns;",fTimeCutMin, fTimeCutMax) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"PHOS Cell Amplitude > %2.2f GeV, EMCAL Cell Amplitude > %2.2f GeV \n",fPHOSCellAmpMin, fEMCALCellAmpMin) ;
+ snprintf(onePar,buffersize,"PHOS Cell Amplitude > %2.2f GeV, EMCAL Cell Amplitude > %2.2f GeV;",fPHOSCellAmpMin, fEMCALCellAmpMin) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Inv. Mass E1, E2 > %2.2f GeV \n",fMinInvMassECut) ;
+ snprintf(onePar,buffersize,"Inv. Mass E1, E2 > %2.2f GeV;",fMinInvMassECut) ;
parList+=onePar ;
//Get parameters set in base class.
if(ampMax < 0.01)
{
- printf("AliAnaCalorimeterQA::ExoticHistograms()- Low amplitude energy %f\n",ampMax);
+ AliDebug(1,Form("Low amplitude energy %f",ampMax));
return;
}
{
// Fill Invariant mass histograms
- if(GetDebug()>1) printf("AliAnaCalorimeterQA::InvariantMassHistograms() - Start \n");
+ AliDebug(1,"Start");
//Get vertex for photon momentum calculation and event selection
Double_t v[3] = {0,0,0}; //vertex ;
cells = GetEMCALCells();
}
else
- AliFatal(Form("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - Wrong calorimeter name <%s>, END\n", GetCalorimeterString().Data()));
+ AliFatal(Form("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - Wrong calorimeter name <%s>, END", GetCalorimeterString().Data()));
if( !caloClusters || !cells )
{
- AliFatal(Form("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - No CaloClusters or CaloCells available\n"));
+ AliFatal(Form("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - No CaloClusters or CaloCells available"));
return; // trick coverity
}
// Cells
CellHistograms(cells);
- if(GetDebug() > 0)
- printf("AliAnaCalorimeterQA::MakeAnalysisFillHistograms() - End \n");
+ AliDebug(1,"End");
}
primStack = stack->Particle(i) ;
if(!primStack)
{
- printf("AliAnaCalorimeterQA::MCHistograms() - ESD primaries pointer not available!!\n");
+ AliWarning("ESD primaries pointer not available!!");
continue;
}
primAOD = (AliAODMCParticle *) mcparticles->At(i);
if(!primAOD)
{
- printf("AliAnaCalorimeterQA::MCHistograms() - AOD primaries pointer not available!!\n");
+ AliWarning("AOD primaries pointer not available!!");
continue;
}
energy += amp;
- if(amp> ampMax)
+ if ( amp > ampMax )
ampMax = amp;
} // energy loop
- if(energy <=0 )
+ if ( energy <=0 )
{
- printf("AliAnaCalorimeterQA::WeightHistograms()- Wrong calculated energy %f\n",energy);
+ AliWarning(Form("Wrong calculated energy %f",energy));
return;
}
primStack = stack->Particle(i) ;
if(!primStack)
{
- printf("AliAnaChargedParticles::FillPrimaryMCHistograms() - ESD primaries pointer not available!!\n");
+ AliWarning("ESD primaries pointer not available!!");
continue;
}
primAOD = (AliAODMCParticle *) mcparticles->At(i);
if(!primAOD)
{
- printf("AliAnaChargedParticles::FillPrimaryHistograms() - AOD primaries pointer not available!!\n");
+ AliWarning("AOD primaries pointer not available!!");
continue;
}
//Do some checks
if(!GetReader()->IsCTSSwitchedOn())
- AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!\n");
-
+ AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
}
Double_t vert[3] = {0,0,0}; //vertex ;
//Some prints
- if(GetDebug() > 0)
- printf("AliAnaChargedParticles::MakeAnalysisFillAOD() - In CTS aod entries %d\n", ntracks);
+ AliDebug(1,Form("In CTS aod entries %d", ntracks));
AliVEvent * event = GetReader()->GetInputEvent();
AliESDEvent* esdEv = dynamic_cast<AliESDEvent*> (event);
fMomentum.SetPxPyPzE(track->Px(),track->Py(),track->Pz(),0);
Bool_t in = GetFiducialCut()->IsInFiducialCut(fMomentum.Eta(),fMomentum.Phi(),kCTS) ;
- if(GetDebug() > 1)
- printf("AliAnaChargedParticles::MakeAnalysisFillAOD() - Track pt %2.2f, eta %2.2f, phi %2.2f in fiducial cut %d\n",pt,eta,phi,in);
+ AliDebug(1,Form("Track pt %2.2f, eta %2.2f, phi %2.2f in fiducial cut %d",pt,eta,phi,in));
//Acceptance selection
if(IsFiducialCutOn() && ! in ) continue ;
}//loop
- if(GetDebug() > 0)
- printf("AliAnaChargedParticles::MakeAnalysisFillAOD() - Final aod branch entries %d\n", GetOutputAODBranch()->GetEntriesFast());
+ AliDebug(1,Form("Final aod branch entries %d", GetOutputAODBranch()->GetEntriesFast()));
+
}
//__________________________________________________________________
fhNtracks->Fill(GetReader()->GetTrackMultiplicity()) ;
- if(GetDebug() > 0)
- printf("AliAnaChargedParticles::MakeAnalysisFillHistograms() - aod branch entries %d\n", naod);
+ AliDebug(1,Form("AOD branch entries %d", naod));
Float_t pt = 0;
Float_t phi = 0;
}
-//___________________________________________
+//__________________________________________________
TObjString * AliAnaClusterPileUp::GetAnalysisCuts()
{
//Save parameters used for analysis
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaClusterPileUp ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaClusterPileUp---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Calorimeter: %s\n",GetCalorimeterString().Data()) ;
+ snprintf(onePar,buffersize,"Calorimeter: %s",GetCalorimeterString().Data()) ;
parList+=onePar ;
//Get parameters set in base class.
if(!pl)
{
- Info("MakeAnalysisFillAOD","TObjArray with %s clusters is NULL!\n",GetCalorimeterString().Data());
+ AliInfo(Form("TObjArray with %s clusters is NULL!",GetCalorimeterString().Data()));
return;
}
// Loop on clusters
Int_t nCaloClusters = pl->GetEntriesFast();
- if(GetDebug() > 0) printf("AliAnaClusterPileUp::MakeAnalysisFillAOD() - input %s cluster entries %d\n", GetCalorimeterString().Data(), nCaloClusters);
+ AliDebug(1,Form("Input %s cluster entries %d", GetCalorimeterString().Data(), nCaloClusters));
+
//Init variables
Int_t idMax = 0;
Float_t ptMax = 0;
fhClusterMultNoPileUp[3]->Fill(ptMax,n40);
}
-
- if(GetDebug() > 1) printf("AliAnaClusterPileUp::MakeAnalysisFillHistograms() End fill histograms\n");
+ AliDebug(1,"End fill histograms");
}
//_________________________________________________________________________
//
-// Class for study of EMCAL trigger behaviour
+// Class for study of EMCAL trigger behavior
//
// -- Author: Gustavo Conesa (CNRS-LPSC-Grenoble)
//////////////////////////////////////////////////////////////////////////////
if(!badClusTrig)
{
- printf("AliAnaEMCALTriggerClusters::MakeAnalysisFillHistograms() - No cluster (bad-exotic trigger) found with requested index %d \n",idTrig);
+ AliWarning(Form("No cluster (bad-exotic trigger) found with requested index %d \n",idTrig));
return;
}
}
}
}
- else if(TMath::Abs(bc) >= 6)
- printf("AliAnaEMCALTriggerClusters::ClusterSelected() - Trigger BC not expected = %d\n",bc);
+ else if(TMath::Abs(bc) >= 6) AliWarning(Form("Trigger BC not expected = %d\n",bc));
}
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaEMCALTriggerClusters ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaEMCALTriggerClusters ---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fRejectTrackMatch: %d\n",fRejectTrackMatch) ;
+ snprintf(onePar,buffersize,"fRejectTrackMatch: %d;",fRejectTrackMatch) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinM02: %2.2f, fMaxM02: %2.2f\n",fMinM02,fMaxM02) ;
+ snprintf(onePar,buffersize,"fMinM02: %2.2f, fMaxM02: %2.2f;",fMinM02,fMaxM02) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fNCellsCut: %d\n",fNCellsCut) ;
+ snprintf(onePar,buffersize,"fNCellsCut: %d;",fNCellsCut) ;
parList+=onePar ;
//Get parameters set in base class.
if(!pl)
{
- Info("MakeAnalysisFillHistograms","TObjArray with clusters is NULL!\n");
+ AliWarning("TObjArray with clusters is NULL!");
return;
}
Int_t nCaloClusters = pl->GetEntriesFast();
Int_t idTrig = GetReader()->GetTriggerClusterIndex();
- if(GetDebug() > 0) printf("AliAnaEMCALTriggerClusters::MakeAnalysisFillHistograms() - Input cluster entries %d\n", nCaloClusters);
+ AliDebug(1,Form("Input cluster entries %d", nCaloClusters));
// Loop on clusters
for(Int_t icalo = 0; icalo < nCaloClusters; icalo++)
}
}
else if(TMath::Abs(bc) >= 6)
- printf("AliAnaEMCALTriggerClusters::MakeAnalysisFillHistograms() - Trigger BC not expected = %d\n",bc);
+ AliWarning(Form("Trigger BC not expected = %d",bc));
}// cluster loop
- if(GetDebug() > 1) printf("AliAnaEMCALTriggerClusters::MakeAnalysisFillHistograms() End fill histograms\n");
+ AliDebug(1,"End fill histograms");
}
//____________________________________________________________________________
Bool_t AliAnaElectron::ClusterSelected(AliVCluster* calo, Int_t nMaxima)
{
- //Select clusters if they pass different cuts
- if(GetDebug() > 2)
- printf("AliAnaElectron::ClusterSelected() Current Event %d; Before selection : E %2.2f, pT %2.2f, Ecl %2.2f, phi %2.2f, eta %2.2f\n",
- GetReader()->GetEventNumber(),
- fMomentum.E(), fMomentum.Pt(),calo->E(),fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta());
+ // Select clusters if they pass different cuts
+
+ AliDebug(1,Form("Current Event %d; Before selection : E %2.2f, pT %2.2f, Ecl %2.2f, phi %2.2f, eta %2.2f",
+ GetReader()->GetEventNumber(),fMomentum.E(),fMomentum.Pt(),calo->E(),fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta()));
//.......................................
//If too small or big energy, skip it
if(fMomentum.E() < GetMinEnergy() || fMomentum.E() > GetMaxEnergy() ) return kFALSE ;
- if(GetDebug() > 2) printf("\t Cluster %d Pass E Cut \n",calo->GetID());
+ AliDebug(2,Form("\t Cluster %d Pass E Cut",calo->GetID()));
//.......................................
// TOF cut, BE CAREFUL WITH THIS CUT
Double_t tof = calo->GetTOF()*1e9;
if(tof < fTimeCutMin || tof > fTimeCutMax) return kFALSE;
- if(GetDebug() > 2) printf("\t Cluster %d Pass Time Cut \n",calo->GetID());
+ AliDebug(2,Form("\t Cluster %d Pass Time Cut",calo->GetID()));
//.......................................
if(calo->GetNCells() <= fNCellsCut && GetReader()->GetDataType() != AliCaloTrackReader::kMC) return kFALSE;
- if(GetDebug() > 2) printf("\t Cluster %d Pass NCell Cut \n",calo->GetID());
+ AliDebug(2,Form("\t Cluster %d Pass NCell Cut",calo->GetID()));
//.......................................
//Check acceptance selection
- if(IsFiducialCutOn()){
+ if(IsFiducialCutOn())
+ {
Bool_t in = GetFiducialCut()->IsInFiducialCut(fMomentum.Eta(),fMomentum.Phi(),GetCalorimeter()) ;
if(! in ) return kFALSE ;
}
- if(GetDebug() > 2) printf("Fiducial cut passed \n");
+ AliDebug(2,"\t Fiducial cut passed");
//.......................................
//Skip not matched clusters with tracks
- if(!IsTrackMatched(calo, GetReader()->GetInputEvent())) {
- if(GetDebug() > 2) printf("\t Reject non track-matched clusters\n");
+ if(!IsTrackMatched(calo, GetReader()->GetInputEvent()))
+ {
+ AliDebug(1,"\t Reject non track-matched clusters");
return kFALSE ;
}
- else if(GetDebug() > 2) printf(" Track-matching cut passed \n");
+ else AliDebug(2,"\t Track-matching cut passed");
//...........................................
// skip clusters with too many maxima
if(nMaxima < fNLMCutMin || nMaxima > fNLMCutMax) return kFALSE ;
- if(GetDebug() > 2) printf(" \t Cluster %d pass NLM %d of out of range \n",calo->GetID(), nMaxima);
+ AliDebug(2,Form("\t Cluster %d pass NLM %d of out of range",calo->GetID(), nMaxima));
//.......................................
//Check Distance to Bad channel, set bit.
if(distBad < fMinDist) {//In bad channel (PHOS cristal size 2.2x2.2 cm), EMCAL ( cell units )
return kFALSE ;
}
- else if(GetDebug() > 2) printf("\t Bad channel cut passed %4.2f > %2.2f \n",distBad, fMinDist);
+ else AliDebug(2,Form("\t Bad channel cut passed %4.2f > %2.2f",distBad, fMinDist));
//printf("Cluster %d Pass Bad Dist Cut \n",icalo);
- if(GetDebug() > 0)
- printf("AliAnaElectron::ClusterSelected() Current Event %d; After selection : E %2.2f, pT %2.2f, Ecl %2.2f, phi %2.2f, eta %2.2f\n",
+ AliDebug(1,Form("Current Event %d; After selection : E %2.2f, pT %2.2f, Ecl %2.2f, phi %2.2f, eta %2.2f",
GetReader()->GetEventNumber(),
- fMomentum.E(), fMomentum.Pt(),calo->E(),fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta());
+ fMomentum.E(), fMomentum.Pt(),calo->E(),fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta()));
//All checks passed, cluster selected
return kTRUE;
//______________________________________________________________________________________________
void AliAnaElectron::FillShowerShapeHistograms(AliVCluster* cluster, Int_t mcTag, Int_t pidTag)
{
-
- //Fill cluster Shower Shape histograms
+ // Fill cluster Shower Shape histograms
if(!fFillSSHistograms || GetMixedEvent()) return;
//Fraction of total energy due to the embedded signal
fraction/=clusterE;
- if(GetDebug() > 1 ) printf("AliAnaElectron::FillShowerShapeHistogram() - Energy fraction of embedded signal %2.3f, Energy %2.3f\n",fraction, clusterE);
+ AliDebug(1,Form("Energy fraction of embedded signal %2.3f, Energy %2.3f",fraction, clusterE));
fhEmbeddedSignalFractionEnergy->Fill(clusterE,fraction);
else if(noverlaps > 2){
fhMCElectronELambda0NOverlap ->Fill(energy, lambda0);
}
- else {
- printf("AliAnaElectron::FillShowerShapeHistogram() - n overlaps = %d for ancestor %d!!", noverlaps, ancLabel);
+ else
+ {
+ AliWarning(Form("N overlaps = %d for ancestor %d!!", noverlaps, ancLabel));
}
}//No embedding
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaElectron ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaElectron ---: ") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Calorimeter: %s\n",GetCalorimeterString().Data()) ;
+ snprintf(onePar,buffersize,"Calorimeter: %s;",GetCalorimeterString().Data()) ;
parList+=onePar ;
- snprintf(onePar,buffersize," %2.2f < dEdx < %2.2f \n",fdEdxMin,fdEdxMax) ;
+ snprintf(onePar,buffersize," %2.2f < dEdx < %2.2f;",fdEdxMin,fdEdxMax) ;
parList+=onePar ;
- snprintf(onePar,buffersize," %2.2f < E/P < %2.2f \n",fEOverPMin, fEOverPMax) ;
+ snprintf(onePar,buffersize," %2.2f < E/P < %2.2f;",fEOverPMin, fEOverPMax) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster) \n",fMinDist) ;
+ snprintf(onePar,buffersize,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",fMinDist) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation) \n",fMinDist2) ;
+ snprintf(onePar,buffersize,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",fMinDist2) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study) \n",fMinDist3) ;
+ snprintf(onePar,buffersize,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",fMinDist3) ;
parList+=onePar ;
//Get parameters set in base class.
//_________________________
void AliAnaElectron::Init()
{
+ // Init
- //Init
- //Do some checks
- if(GetCalorimeter() == kPHOS && !GetReader()->IsPHOSSwitchedOn() && NewOutputAOD()){
- printf("AliAnaElectron::Init() - !!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!\n");
- abort();
- }
- else if(GetCalorimeter() == kEMCAL && !GetReader()->IsEMCALSwitchedOn() && NewOutputAOD()){
- printf("AliAnaElectron::Init() - !!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!\n");
- abort();
- }
+ // Do some checks
+
+ if ( GetCalorimeter() == kPHOS && !GetReader()->IsPHOSSwitchedOn() && NewOutputAOD() )
+ AliFatal("STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
+ else if ( GetCalorimeter() == kEMCAL && !GetReader()->IsEMCALSwitchedOn() && NewOutputAOD() )
+ AliFatal("STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
}
//Select the Calorimeter of the photon
TObjArray * pl = 0x0;
- if (GetCalorimeter() == kPHOS) pl = GetPHOSClusters();
+ if (GetCalorimeter() == kPHOS ) pl = GetPHOSClusters ();
else if (GetCalorimeter() == kEMCAL) pl = GetEMCALClusters();
if(!pl)
{
- Info("MakeAnalysisFillAOD","TObjArray with %s clusters is NULL!\n",GetCalorimeterString().Data());
+ AliWarning(Form("TObjArray with %s clusters is NULL!",GetCalorimeterString().Data()));
return;
}
Int_t nCaloClusters = pl->GetEntriesFast();
//List to be used in conversion analysis, to tag the cluster as candidate for conversion
- if(GetDebug() > 0) printf("AliAnaElectron::MakeAnalysisFillAOD() - input %s cluster entries %d\n", GetCalorimeterString().Data(), nCaloClusters);
+ AliDebug(1,Form("Input %s cluster entries %d", GetCalorimeterString().Data(), nCaloClusters));
//----------------------------------------------------
// Fill AOD with PHOS/EMCAL AliAODPWG4Particle objects
//Cluster selection, not charged, with photon id and in fiducial cut
if(GetReader()->GetDataType() != AliCaloTrackReader::kMC)
{
- calo->GetMomentum(fMomentum,GetVertex(evtIndex)) ;}//Assume that come from vertex in straight line
- else{
+ calo->GetMomentum(fMomentum,GetVertex(evtIndex)) ;
+ }//Assume that come from vertex in straight line
+ else
+ {
Double_t vertex[]={0,0,0};
calo->GetMomentum(fMomentum,vertex) ;
}
if(!track)
{
- printf("AliAnaElectron::MakeAnalysisFillAOD() - Null track");
+ AliWarning("Null track");
continue;
}
{
tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),GetCalorimeter());
- if(GetDebug() > 0)
- printf("AliAnaElectron::MakeAnalysisFillAOD() - Origin of candidate, bit map %d\n",tag);
+ AliDebug(1,Form("Origin of candidate, bit map %d",tag));
if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[pidIndex][kmcPhoton])
{
if(fAODParticle == 0 )
pid = AliCaloPID::kChargedHadron ;
}
- if(GetDebug() > 1) printf("AliAnaElectron::MakeAnalysisFillAOD() - PDG of identified particle %d\n",pid);
+
+ AliDebug(1,Form("PDG of identified particle %d",pid));
}
- if(GetDebug() > 1) printf("AliAnaElectron::MakeAnalysisFillAOD() - Photon selection cuts passed: pT %3.2f, pdg %d\n",
- fMomentum.Pt(), pid);
+ AliDebug(1,Form("Photon selection cuts passed: pT %3.2f, pdg %d",fMomentum.Pt(),pid));
Float_t maxCellFraction = 0;
Int_t absID = GetCaloUtils()->GetMaxEnergyCell(cells, calo,maxCellFraction);
fhNCellsE[pidIndex] ->Fill(fMomentum.E(),calo->GetNCells());
fhNLME [pidIndex] ->Fill(fMomentum.E(),nMaxima);
fhTimeE [pidIndex] ->Fill(fMomentum.E(),calo->GetTOF()*1.e9);
-
//----------------------------
- //Create AOD for analysis
+ // Create AOD for analysis
//----------------------------
//Add AOD with electron/hadron object to aod branch
}//loop
- if(GetDebug() > 1) printf("AliAnaElectron::MakeAnalysisFillAOD() End fill AODs, with %d entries \n",GetOutputAODBranch()->GetEntriesFast());
+ AliDebug(1,Form("End fill AODs, with %d entries",GetOutputAODBranch()->GetEntriesFast()));
}
if(GetReader()->ReadStack())
{
stack = GetMCStack() ;
- if(!stack)
- {
- printf("AliAnaElectron::MakeAnalysisFillHistograms() - Stack not available, is the MC handler called? STOP\n");
- abort();
- }
+ if ( !stack ) AliFatal("Stack not available, is the MC handler called? STOP");
}
else if(GetReader()->ReadAODMCParticles())
{
//Get the list of MC particles
mcparticles = GetReader()->GetAODMCParticles();
- if(!mcparticles)
- {
- printf("AliAnaElectron::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n");
- abort();
- }
+ if ( !mcparticles ) AliFatal("Standard MCParticles not available! STOP");
}
}// is data and MC
//----------------------------------
//Loop on stored AOD photons
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0) printf("AliAnaElectron::MakeAnalysisFillHistograms() - aod branch entries %d\n", naod);
+ AliDebug(1,Form("AOD branch entries %d", naod));
for(Int_t iaod = 0; iaod < naod ; iaod++)
{
if(((Int_t) ph->GetDetectorTag()) != GetCalorimeter()) continue;
- if(GetDebug() > 2)
- printf("AliAnaElectron::MakeAnalysisFillHistograms() - ID Electron: pt %f, phi %f, eta %f\n", ph->Pt(),ph->Phi(),ph->Eta()) ;
+ AliDebug(1,Form("ID Electron: pt %f, phi %f, eta %f", ph->Pt(),ph->Phi(),ph->Eta())) ;
//................................
//Fill photon histograms
fhPt[pidIndex] ->Fill(ptcluster);
fhPhi[pidIndex] ->Fill(ptcluster,phicluster);
fhEta[pidIndex] ->Fill(ptcluster,etacluster);
- if (ecluster > 0.5) fhEtaPhi[pidIndex] ->Fill(etacluster, phicluster);
+ if (ecluster > 0.5) fhEtaPhi[pidIndex] ->Fill(etacluster, phicluster);
else if(GetMinPt() < 0.5) fhEtaPhi05[pidIndex]->Fill(etacluster, phicluster);
//.......................................
//Play with the MC data if available
- if(IsDataMC()){
-
+ if(IsDataMC())
+ {
//....................................................................
// Access MC information in stack if requested, check that it exists.
Int_t label =ph->GetLabel();
- if(label < 0) {
- if(GetDebug() > 1) printf("AliAnaElectron::MakeAnalysisFillHistograms() *** bad label ***: label %d \n", label);
+ if(label < 0)
+ {
+ AliDebug(1,Form("*** bad label ***: label %d", label));
continue;
}
{
if(label >= stack->GetNtrack())
{
- if(GetDebug() > 2) printf("AliAnaElectron::MakeAnalysisFillHistograms() *** large label ***: label %d, n tracks %d \n", label, stack->GetNtrack());
+ AliDebug(1,Form("*** large label ***: label %d, n tracks %d", label, stack->GetNtrack()));
continue ;
}
primary = stack->Particle(label);
if(!primary)
{
- printf("AliAnaElectron::MakeAnalysisFillHistograms() *** no primary ***: label %d \n", label);
- continue;
+ AliWarning(Form("*** no primary ***: label %d", label));
+ continue ;
}
eprim = primary->Energy();
if(label >= mcparticles->GetEntriesFast())
{
- if(GetDebug() > 2) printf("AliAnaElectron::MakeAnalysisFillHistograms() *** large label ***: label %d, n tracks %d \n",
- label, mcparticles->GetEntriesFast());
+ AliDebug(1,Form("*** large label ***: label %d, n tracks %d",label, mcparticles->GetEntriesFast()));
continue ;
}
//Get the particle
if(!aodprimary)
{
- printf("AliAnaElectron::MakeAnalysisFillHistograms() *** no primary ***: label %d \n", label);
+ AliWarning(Form("*** no primary ***: label %d", label));
continue;
}
} // energy loop
- if(energy <=0 ) {
- printf("AliAnaCalorimeterQA::WeightHistograms()- Wrong calculated energy %f\n",energy);
+ if ( energy <= 0 )
+ {
+ AliWarning(Form("Wrong calculated energy %f",energy));
return;
}
{
//Correlate trigger with partons or jets, get z
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::CorrelateWithPartonOrJet() - Start \n");
+ AliDebug(1,"Start");
//Get the index of the mother
iparton = (fStack->Particle(indexTrig))->GetFirstMother();
while (iparton > 7)
{
iparton = mother->GetFirstMother();
- if(iparton < 0) { printf("AliAnaGeneratorKine::CorrelateWithPartonOrJet() - Negative index, skip event\n"); return kFALSE; }
+ if(iparton < 0)
+ {
+ AliWarning("Negative index, skip event");
+ return kFALSE;
+ }
mother = fStack->Particle(iparton);
}
} // photon
} // conditions loop
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::CorrelateWithPartonOrJet() - End TRUE \n");
+ AliDebug(1,"End TRUE");
return kTRUE;
}
{
// Fill data members with partons,jets and generated pt hard
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::GetPartonsAndJets() - Start \n");
+ AliDebug(1,"Start");
fStack = GetMCStack() ;
if(!fStack)
- {
- printf("AliAnaGeneratorKine::MakeAnalysisFillHistograms() - No Stack available, STOP\n");
- abort();
- }
+ AliFatal("No Stack available, STOP");
fParton2 = fStack->Particle(2) ;
fParton3 = fStack->Particle(3) ;
fhPtJetPtParton ->Fill(fPtHard, fJet6.Pt()/fParton6->Pt());
fhPtJetPtParton ->Fill(fPtHard, fJet7.Pt()/fParton7->Pt());
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::GetPartonsAndJets() - End \n");
+ AliDebug(1,"End");
}
// Calculate the real XE and the UE XE
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::GetXE() - Start \n");
+ AliDebug(1,"Start");
Float_t ptTrig = fTrigger.Pt();
Float_t phiTrig = fTrigger.Phi();
} // primary loop
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::GetPartonsAndJets() - End \n");
+ AliDebug(1,"End");
}
// Check if the trigger is the leading particle and if it is isolated
// In case of neutral particles check all neutral or neutral in EMCAL acceptance
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::GetIsLeadingAndIsolated() - Start \n");
+ AliDebug(1,"Start");
Float_t ptMaxCharged = 0; // all charged
Float_t ptMaxNeutral = 0; // all neutral
} // photon
} // conditions loop
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::IsLeadingAndIsolated() - End \n");
+ AliDebug(1,"End");
}
{
//Particle-Parton Correlation Analysis, fill histograms
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::MakeAnalysisFillHistograms() - Start \n");
+ AliDebug(1,"Start");
GetPartonsAndJets();
Bool_t in = GetFiducialCutForTrigger()->IsInFiducialCut(fTrigger.Eta(),fTrigger.Phi(),fTriggerDetector) ;
if(! in ) continue ;
- if( GetDebug() > 2) printf("Select trigger particle %d: pdg %d status %d, mother index %d, pT %2.2f, eta %2.2f, phi %2.2f \n",
- ipr, pdgTrig, statusTrig, imother, ptTrig, particle->Eta(), particle->Phi()*TMath::RadToDeg());
+ AliDebug(1,Form("Select trigger particle %d: pdg %d status %d, mother index %d, pT %2.2f, eta %2.2f, phi %2.2f",
+ ipr, pdgTrig, statusTrig, imother, ptTrig, particle->Eta(), particle->Phi()*TMath::RadToDeg()));
// if(pdgTrig==111)
// {
}
- if(GetDebug() > 1) printf("AliAnaGeneratorKine::MakeAnalysisFillHistograms() - End fill histograms \n");
+ AliDebug(1,"End fill histograms");
}
Int_t label = cluster->GetLabel();
- while( pdg!=111 && label>=0 )
+ while( pdg!=111 && label >=0 )
{
fPrimaryMom = GetMCAnalysisUtils()->GetGrandMother(label,GetReader(),pdg,status,ok, label,gLabel);
}
if(pdg!=111 || label < 0)
{
- Info("CheckLocalMaximaMCOrigin","Mother Pi0 not found!\n");
+ AliWarning("Mother Pi0 not found!");
return;
}
if(nDaugthers != 2)
{
- Info("CheckLocalMaximaMCOrigin","N daughters %d !=2!\n",nDaugthers);
+ AliWarning(Form("N daughters %d !=2!",nDaugthers));
return;
}
if(pdg1!=22 || pdg0 != 22)
{
- Info("CheckLocalMaximaMCOrigin","Wrong daughters PDG: photon0 %d - photon1 %d\n",pdg0,pdg1);
+ AliWarning(Form("Wrong daughters PDG: photon0 %d - photon1 %d",pdg0,pdg1));
return;
}
Float_t asym = TMath::Abs( fSubClusterMom1.Energy()-fSubClusterMom2.Energy() )/( fSubClusterMom1.Energy()+fSubClusterMom2.Energy() ) ;
- if(GetDebug() > 2 ) Info("FillArmenterosHistograms()","E %f, alphaArm %f, pTArm %f\n",en,alphaArm,pTArm);
+ AliDebug(2,Form("E %f, alphaArm %f, pTArm %f",en,alphaArm,pTArm));
Bool_t m02OK = GetCaloPID()->IsInPi0M02Range(en,m02,nMax);
Bool_t asyOK = GetCaloPID()->IsInPi0SplitAsymmetryRange(en,asym,nMax);
if((mcindex==kmcPi0 || mcindex == kmcPi0Conv) && ebin >=0) fhMCPi0MassM02OverlapN[inlm][ebin]->Fill(l0,mass);
}
else
- Info("FillMCOverlapHistograms","n overlaps = %d!!", noverlaps);
+ AliWarning(Form("n overlaps = %d!!", noverlaps));
}
else if(fFillTMHisto)
{
if((mcindex==kmcPi0 || mcindex == kmcPi0Conv) && ebin >=0) fhMCPi0MassM02OverlapNMatch[inlm][ebin]->Fill(l0,mass);
}
else
- Info("FillMCOverlapHistograms()","n overlaps in matched = %d!!", noverlaps);
+ AliWarning(Form("n overlaps in matched = %d!!", noverlaps));
}
}
distbad1,distbad2,fidcut1,fidcut2);
if (nlm <= 0)
{
- if(GetDebug() > 0 )
- Info("MakeAnalysisFillHistograms","No local maximum found! It did not pass CaloPID selection criteria \n");
-
+ AliWarning("No local maximum found! It did not pass CaloPID selection criteria");
continue;
}
if(energy <=0 )
{
- Info("WeightHistograms()","Wrong calculated energy %f\n",energy);
+ AliWarning(Form("Wrong calculated energy %f",energy));
return;
}
Float_t amp2 = cells->GetCellAmplitude(absId2);
GetCaloUtils()->RecalibrateCellAmplitude(amp2,GetCalorimeter(), absId2);
- if(amp1 < amp2) Info("FillSSWeightHistograms","Bad local maxima E ordering : id1 E %f, id2 E %f\n ",amp1,amp2);
- if(amp1==0 || amp2==0) Info("FillSSWeightHistograms","Null E local maxima : id1 E %f, id2 E %f\n " ,amp1,amp2);
+ if(amp1 < amp2) AliWarning(Form("Bad local maxima E ordering : id1 E %f, id2 E %f",amp1,amp2));
+ if(amp1==0 || amp2==0) AliWarning(Form("Null E local maxima : id1 E %f, id2 E %f " ,amp1,amp2));
if(GetCaloUtils()->IsMCECellClusFracCorrectionOn())
{
Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaInsideClusterInvariantMass ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaInsideClusterInvariantMass ---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Calorimeter: %s\n", GetCalorimeterString().Data()) ;
+ snprintf(onePar,buffersize,"Calorimeter: %s;", GetCalorimeterString().Data()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fNLocMaxCutE =%2.2f \n", GetCaloUtils()->GetLocalMaximaCutE()) ;
+ snprintf(onePar,buffersize,"fNLocMaxCutE =%2.2f;", GetCaloUtils()->GetLocalMaximaCutE()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fNLocMaxCutEDiff =%2.2f \n",GetCaloUtils()->GetLocalMaximaCutEDiff()) ;
+ snprintf(onePar,buffersize,"fNLocMaxCutEDiff =%2.2f;",GetCaloUtils()->GetLocalMaximaCutEDiff()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinNCells =%d \n", fMinNCells) ;
+ snprintf(onePar,buffersize,"fMinNCells =%d;", fMinNCells) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinBadDist =%1.1f \n", fMinBadDist) ;
+ snprintf(onePar,buffersize,"fMinBadDist =%1.1f;", fMinBadDist) ;
parList+=onePar ;
if(fFillSSWeightHisto)
{
- snprintf(onePar,buffersize," N w %d - N e cut %d \n",fSSWeightN,fSSECellCutN);
+ snprintf(onePar,buffersize," N w %d - N e cut %d;",fSSWeightN,fSSECellCutN);
parList+=onePar ;
}
//Do some checks
if(GetCalorimeter() == kPHOS && !GetReader()->IsPHOSSwitchedOn() && NewOutputAOD())
- {
- AliFatal("!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!\n");
- }
+ AliFatal("!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
else if(GetCalorimeter() == kEMCAL && !GetReader()->IsEMCALSwitchedOn() && NewOutputAOD())
- {
- AliFatal("!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!\n");
- }
+ AliFatal("!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
if( GetReader()->GetDataType() == AliCaloTrackReader::kMC )
- {
- AliFatal("!!STOP: You want to use pure MC data!!\n");
- }
+ AliFatal("!!STOP: You want to use pure MC data!!");
}
if(!pl || !cells)
{
- Info("MakeAnalysisFillHistograms","TObjArray with %s clusters is NULL!\n",GetCalorimeterString().Data());
+ AliWarning(Form("TObjArray with %s clusters is NULL!",GetCalorimeterString().Data()));
return;
}
fidcut1,fidcut2);
if (nMax <= 0)
{
- if(GetDebug() > 0 )
- Info("MakeAnalysisFillHistograms","No local maximum found! It did not pass CaloPID selection criteria \n");
-
+ AliWarning("No local maximum found! It did not pass CaloPID selection criteria");
continue;
}
if (nMax == 1) inlm = 0;
else if(nMax == 2) inlm = 1;
else if(nMax > 2) inlm = 2;
- else Info("MakeAnalysisFillHistograms","Wrong N local maximum -> %d, n cells in cluster %d \n",nMax,nc);
+ else AliDebug(2,Form("Wrong N local maximum -> %d, n cells in cluster %d",nMax,nc));
// Skip events where one of the new clusters (lowest energy) is close to an EMCal border or a bad channel
if( (fCheckSplitDistToBad) &&
(!fidcut2 || !fidcut1 || distbad1 < fMinBadDist || distbad2 < fMinBadDist))
{
- if(GetDebug() > 1)
- Info("MakeAnalysisFillHistograms","Dist to bad channel cl1 %f, cl2 %f; fid cl1 %d, cl2 %d \n",
- distbad1,distbad2, fidcut1,fidcut2);
+ AliDebug(1,Form("Dist to bad channel cl1 %f, cl2 %f; fid cl1 %d, cl2 %d",
+ distbad1,distbad2, fidcut1,fidcut2));
if(distbad1 < fMinBadDist || distbad2 < fMinBadDist)
{
}//loop
- if(GetDebug() > 1) Info("MakeAnalysisFillHistograms","END \n");
+ AliDebug(1,"End");
}
printf("Min. N Cells =%d \n", fMinNCells) ;
printf("Min. Dist. to Bad =%1.1f \n", fMinBadDist) ;
if(fFillSSWeightHisto) printf(" N w %d - N e cut %d \n",fSSWeightN,fSSECellCutN);
-
printf(" \n") ;
}
if(!cluster)
{
- AliInfo("Cluster pointer null!");
+ AliWarning("Cluster pointer null!");
return;
}
sEtaPhi += w * etai * phii ;
}
}
- else if(energy == 0 || (eCellMin <0.01 && eCell == 0)) AliError(Form("Wrong energy %f and/or amplitude %f\n", eCell, energy));
+ else if(energy == 0 || (eCellMin <0.01 && eCell == 0)) AliError(Form("Wrong energy %f and/or amplitude %f", eCell, energy));
}//cell loop
phiMean /= wtot ;
}
else
- AliError(Form("Wrong weight %f\n", wtot));
+ AliError(Form("Wrong weight %f", wtot));
//Calculate dispersion
for(Int_t iDigit=0; iDigit < cluster->GetNCells(); iDigit++)
dPhi += w * (phii-phiMean)*(phii-phiMean) ;
}
}
- else if(energy == 0 || (eCellMin <0.01 && eCell == 0)) AliError(Form("Wrong energy %f and/or amplitude %f\n", eCell, energy));
+ else if(energy == 0 || (eCellMin <0.01 && eCell == 0)) AliError(Form("Wrong energy %f and/or amplitude %f", eCell, energy));
}// cell loop
//Normalize to the weigth and set shower shape parameters
Double_t mcpout = mcAssocPt*TMath::Sin(mcdeltaPhi) ;
- if(GetDebug() > 0 )
- {
- AliInfo(Form("Charged hadron: track Pt %f, track Phi %f, phi trigger %f. Cuts: delta phi %2.2f < %2.2f < %2.2f \n",
- mcAssocPt,mcAssocPhi, mcTrigPhi,fDeltaPhiMinCut, mcdeltaPhi, fDeltaPhiMaxCut));
- }
+ AliDebug(1,Form("Charged hadron: track Pt %f, track Phi %f, phi trigger %f. Cuts: delta phi %2.2f < %2.2f < %2.2f",
+ mcAssocPt,mcAssocPhi, mcTrigPhi,fDeltaPhiMinCut, mcdeltaPhi, fDeltaPhiMaxCut));
+
// Fill Histograms
fhMCEtaCharged [histoIndex]->Fill(mcAssocPt, mcAssocEta);
Double_t mcUezT = mcAssocPt/mcTrigPt;
if(mcUexE < 0.)
- printf("FillChargedMCCorrelationHistograms(): Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- mcUexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ mcUexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhMCPtXEUeCharged[histoIndex]->Fill(mcTrigPt,mcUexE);
if(mcUexE > 0) fhMCPtHbpXEUeCharged[histoIndex]->Fill(mcTrigPt,TMath::Log(1/mcUexE));
Double_t mcUezT = mcAssocPt/mcTrigPt;
if(mcUexE < 0.)
- printf("FillChargedMCCorrelationHistograms(): Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- mcUexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ mcUexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhMCPtXEUeLeftCharged[histoIndex]->Fill(mcTrigPt,mcUexE);
if(mcUexE > 0) fhMCPtHbpXEUeLeftCharged[histoIndex]->Fill(mcTrigPt,TMath::Log(1/mcUexE));
Float_t pout = ptAssoc*TMath::Sin(deltaPhi) ;
if(xE < 0.)
- printf("FillChargedMomentumImbalanceHistograms(): Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- xE,deltaPhi*TMath::RadToDeg(),TMath::Cos(deltaPhi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ xE,deltaPhi*TMath::RadToDeg(),TMath::Cos(deltaPhi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
Float_t hbpXE = -100;
Float_t hbpZT = -100;
Double_t uezT = ptAssoc/ptTrig;
if(uexE < 0.)
- printf("FillChargedUnderlyingEventHistograms(): Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhXEUeCharged->Fill(ptTrig,uexE);
if(uexE > 0) fhPtHbpXEUeCharged->Fill(ptTrig,TMath::Log(1/uexE));
Double_t uezT = ptAssoc/ptTrig;
if(uexE < 0.)
- printf("FillChargedUnderlyingEventSidesHistograms(): Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhXEUeLeftCharged->Fill(ptTrig,uexE);
if(uexE > 0) fhPtHbpXEUeLeftCharged->Fill(ptTrig,TMath::Log(1/uexE));
Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
if(uexE < 0.)
- printf("FillChargedUnderlyingEventSidesHistograms(): Careful!!, negative xE %2.2f for left-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for left-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhXEUeLeftDownCharged->Fill(ptTrig,uexE);
}
Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
if(uexE < 0.)
- printf("FillChargedUnderlyingEventSidesHistograms(): Careful!!, negative xE %2.2f for left-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for left-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhXEUeLeftUpCharged->Fill(ptTrig,uexE);
}
Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
if(uexE < 0.)
- printf("FillChargedUnderlyingEventSidesHistograms(): Careful!!, negative xE %2.2f for right-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhXEUeRightUpCharged->Fill(ptTrig,uexE);
}
Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
if(uexE < 0.)
- printf("FillChargedUnderlyingEventSidesHistograms(): Careful!!, negative xE %2.2f for right-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhXEUeRightDownCharged->Fill(ptTrig,uexE);
}
fhDeltaPhiPi0DecayCharged->Fill(ptDecay1, deltaPhiDecay1);
fhDeltaPhiPi0DecayCharged->Fill(ptDecay2, deltaPhiDecay2);
- if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelation::FillDecayPhotonHistograms( Charged corr) - deltaPhoton1 = %f, deltaPhoton2 = %f \n", deltaPhiDecay1, deltaPhiDecay2);
+ AliDebug(2,Form("deltaPhoton1 = %f, deltaPhoton2 = %f", deltaPhiDecay1, deltaPhiDecay2));
if( (deltaPhiDecay1 > fDeltaPhiMinCut) && ( deltaPhiDecay1 < fDeltaPhiMaxCut) )
{
fhDeltaPhiPi0DecayNeutral->Fill(ptDecay1, deltaPhiDecay1);
fhDeltaPhiPi0DecayNeutral->Fill(ptDecay2, deltaPhiDecay2);
- if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelation::FillDecayPhotonHistograms(Neutral corr) - deltaPhoton1 = %f, deltaPhoton2 = %f \n", deltaPhiDecay1, deltaPhiDecay2);
+ AliDebug(2,Form("deltaPhoton1 = %f, deltaPhoton2 = %f", deltaPhiDecay1, deltaPhiDecay2));
if( (deltaPhiDecay1 > fDeltaPhiMinCut) && ( deltaPhiDecay1 < fDeltaPhiMaxCut) )
{
}
}
- if(GetDebug() > 1 )
- {
- printf("AliAnaParticleHadronCorrelation::FindLeadingOppositeHadronInWindow() pT %2.2f, phi %2.2f, eta %2.2f, nTracks away %d, total tracks %d\n",
- ptLeadHad,phiLeadHad*TMath::RadToDeg(),etaLeadHad,nTrack, GetTrackMultiplicity());
-
- printf("\t pT trig %2.2f, Dphi (trigger-hadron) %2.2f, Deta (trigger-hadron) %2.2f\n",
- ptTrig, dphiLeadHad*TMath::RadToDeg(), etaLeadHad-etaTrig);
- printf("\t cuts pT: min %2.2f, max %2.2f; DPhi: min %2.2f, max %2.2f\n",fMinLeadHadPt,fMaxLeadHadPt,fMinLeadHadPhi*TMath::RadToDeg(),fMaxLeadHadPhi*TMath::RadToDeg());
- }
+
+ AliDebug(1,Form("pT %2.2f, phi %2.2f, eta %2.2f, nTracks away %d, total tracks %d",
+ ptLeadHad,phiLeadHad*TMath::RadToDeg(),etaLeadHad,nTrack, GetTrackMultiplicity()));
+ AliDebug(1,Form("\t pT trig %2.2f, Dphi (trigger-hadron) %2.2f, Deta (trigger-hadron) %2.2f",
+ ptTrig, dphiLeadHad*TMath::RadToDeg(), etaLeadHad-etaTrig));
+ AliDebug(1,Form("\t cuts pT: min %2.2f, max %2.2f; DPhi: min %2.2f, max %2.2f",
+ fMinLeadHadPt,fMaxLeadHadPt,fMinLeadHadPhi*TMath::RadToDeg(),fMaxLeadHadPhi*TMath::RadToDeg()));
+
// reject the trigger if the leading hadron is not in the requested pt or phi window and
if(indexPhoton1!=-1 || indexPhoton2!=-1) return kFALSE;
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelation::GetDecayPhotonMomentum() - indexPhoton1 = %d, indexPhoton2 = %d \n", indexPhoton1, indexPhoton2);
+ AliDebug(1,Form("indexPhoton1 = %d, indexPhoton2 = %d", indexPhoton1, indexPhoton2));
TObjArray * clusters = 0x0 ;
if(idetector==kEMCAL) clusters = GetEMCALClusters() ;
if(photon->GetID()==indexPhoton1) photon->GetMomentum(fDecayMom1,GetVertex(0)) ;
if(photon->GetID()==indexPhoton2) photon->GetMomentum(fDecayMom2,GetVertex(0)) ;
- if(GetDebug() > 1)printf("AliAnaParticleHadronCorrelation::GetDecayPhotonMomentum() - Photon1 = %f, Photon2 = %f \n", fDecayMom1.Pt(), fDecayMom2.Pt());
+ AliDebug(1,Form("Photon1 = %f, Photon2 = %f", fDecayMom1.Pt(), fDecayMom2.Pt()));
} //cluster loop
//Do some checks
if(!GetReader()->IsCTSSwitchedOn())
- AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!\n");
+ AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
}
//____________________________________________________
fLeadingTriggerIndex = index ;
pLeading->SetLeadingParticle(kTRUE);
- if( GetDebug() > 1 ) printf("\t particle AOD with index %d is leading with pT %2.2f\n", fLeadingTriggerIndex, pLeading->Pt());
+ AliDebug(1,Form("\t particle AOD with index %d is leading with pT %2.2f", fLeadingTriggerIndex, pLeading->Pt()));
return kTRUE;
if(!GetInputAODBranch())
{
- AliFatal(Form("No input particles in AOD with name branch < %s >, STOP \n",GetInputAODName().Data()));
+ AliFatal(Form("No input particles in AOD with name branch < %s >, STOP",GetInputAODName().Data()));
return ; // coverity
}
Int_t naod = GetInputAODBranch()->GetEntriesFast();
if( naod == 0 )
{
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillAOD() - No particle AOD found! \n");
-
+ AliWarning("No particle AOD found!");
return ; // no trigger particles found.
}
- if(GetDebug() > 1)
- {
- printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - Begin hadron correlation analysis, fill histograms \n");
- printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - In particle branch aod entries %d\n", naod);
- printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - In CTS aod entries %d\n", GetCTSTracks()->GetEntriesFast());
- }
+ AliDebug(1,Form("Begin hadron correlation analysis, fill histograms"));
+ AliDebug(1,Form("n particle branch aod entries %d", naod));
+ AliDebug(1,Form("In CTS aod entries %d",GetCTSTracks()->GetEntriesFast()));
//------------------------------------------------------
// Find leading trigger if analysis request only leading,
{
Bool_t leading = IsTriggerTheEventLeadingParticle();
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - AOD Leading trigger? %d, with index %d\n",leading,fLeadingTriggerIndex);
+ AliDebug(1,Form("AOD Leading trigger? %d, with index %d",leading,fLeadingTriggerIndex));
if(!leading)
{
- if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - Leading was requested and not found\n");
+ AliDebug(1,"Leading was requested and not found");
return ;
}
else
//
Int_t clID1 = particle->GetCaloLabel(0) ;
Int_t clID2 = particle->GetCaloLabel(1) ; // for photon clusters should not be set.
- if( GetDebug() > 1 ) printf("%s Trigger : id1 %d, id2 %d, min %f, max %f, det %d\n",
- GetInputAODName().Data(),clID1,clID2,fM02MinCut,fM02MaxCut,particle->GetDetectorTag());
+ AliDebug(1,Form("%s Trigger : id1 %d, id2 %d, min %f, max %f, det %d",
+ GetInputAODName().Data(),clID1,clID2,fM02MinCut,fM02MaxCut,particle->GetDetectorTag()));
if(clID1 > 0 && clID2 < 0 && fM02MaxCut > 0 && fM02MinCut > 0)
{
//Reinit for next event
fLeadingTriggerIndex = -1;
- if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - End fill histograms \n");
+ AliDebug(1,"End fill histograms");
}
//_______________________________________________________________________________________________________
void AliAnaParticleHadronCorrelation::MakeChargedCorrelation(AliAODPWG4ParticleCorrelation *aodParticle)
{
// Charged Hadron Correlation Analysis
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelation::MakeChargedCorrelation() - Make trigger particle - charged hadron correlation \n");
+ AliDebug(1,"Make trigger particle - charged hadron correlation");
Float_t phiTrig = aodParticle->Phi();
Float_t etaTrig = aodParticle->Eta();
continue;
}
- if(GetDebug() > 2 )
- printf("AliAnaParticleHadronCorrelation::MakeChargedCorrelation() - Selected charge for momentum imbalance: pt %2.2f, phi %2.2f, eta %2.2f \n",pt,phi,eta);
+ AliDebug(2,Form("Selected charge for momentum imbalance: pt %2.2f, phi %2.2f, eta %2.2f",pt,phi,eta));
// ------------------------------
// Track type bin or bits setting
{
// Mix current trigger with tracks in another MB event
- if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelationNew::MakeChargedMixCorrelation() - Make trigger particle - charged hadron mixed event correlation \n");
+ AliDebug(1,Form("Make trigger particle - charged hadron mixed event correlation"));
if(GetMixedEvent()) return; // This is not the mixed event from general mixing frame
if(!pool) return ;
if( neutralMix && !poolCalo )
- printf("AliAnaParticleHadronCorrelation::MakeChargedMixCorrelation() - Careful, cluster pool not available\n");
+ AliWarning("Careful, cluster pool not available");
Double_t ptTrig = aodParticle->Pt();
Double_t etaTrig = aodParticle->Eta();
Double_t phiTrig = aodParticle->Phi();
if(phiTrig < 0.) phiTrig+=TMath::TwoPi();
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelationNew::MakeChargedMixCorrelation() - Pool bin %d size %d, trigger trigger pt=%f, phi=%f, eta=%f\n",
- eventBin,pool->GetSize(), ptTrig,phiTrig,etaTrig);
+ AliDebug(1,Form("Pool bin %d size %d, trigger trigger pt=%f, phi=%f, eta=%f",
+ eventBin,pool->GetSize(), ptTrig,phiTrig,etaTrig));
Double_t ptAssoc = -999.;
Double_t phiAssoc = -999.;
if( neutralMix && poolCalo )
{
if(pool->GetSize()!=poolCalo->GetSize())
- printf("AliAnaParticleHadronCorrelationNew::MakeChargedMixCorrelation() - Different size of calo and track pools\n");
+ AliWarning("Different size of calo and track pools");
bgCalo = static_cast<TObjArray*>(poolCalo->At(ev));
- if(!bgCalo)
- printf("AliAnaParticleHadronCorrelationNew::MakeChargedMixCorrelation() - Event %d in calo pool not available?\n",ev);
+ if(!bgCalo) AliDebug(1,Form("Event %d in calo pool not available?",ev));
}
//
}
if( !neutralMix && fCheckLeadingWithNeutralClusters )
- printf("AliAnaParticleHadronCorrelation::MakeChargedMixCorrelation() - Leading of clusters requested but no clusters in mixed event\n");
+ AliWarning("Leading of clusters requested but no clusters in mixed event");
if(neutralMix && fCheckLeadingWithNeutralClusters && bgCalo)
{
if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
deltaEta = etaTrig-etaAssoc;
- if(GetDebug()>0)
- printf("AliAnaParticleHadronCorrelationNew::MakeChargedMixCorrelation(): deltaPhi= %f, deltaEta=%f\n",deltaPhi, deltaEta);
+ AliDebug(1,Form("deltaPhi= %f, deltaEta=%f",deltaPhi, deltaEta));
// Angular correlation
fhMixDeltaPhiCharged ->Fill(ptTrig, deltaPhi);
xE = -ptAssoc/ptTrig*TMath::Cos(deltaPhi); // -(px*pxTrig+py*pyTrig)/(ptTrig*ptTrig);
if(xE < 0.)
- printf("MakeChargedMixCorrelation(): Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- xE,deltaPhi*TMath::RadToDeg(),TMath::Cos(deltaPhi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ xE,deltaPhi*TMath::RadToDeg(),TMath::Cos(deltaPhi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhMixXECharged->Fill(ptTrig,xE);
if(xE > 0 ) fhMixHbpXECharged->Fill(ptTrig, TMath::Log(1./xE));
Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
if(uexE < 0.)
- printf("MakeChargedMixCorrelation(): Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ uexE,randomphi*TMath::RadToDeg(),TMath::Cos(randomphi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
fhMixXEUeCharged->Fill(ptTrig,uexE);
}
Int_t npi0 = pi0list->GetEntriesFast();
if(npi0 == 0) return ;
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelation::MakeNeutralCorrelation() - Particle - pi0 correlation, %d pi0's\n",npi0);
+ AliDebug(1,Form("Particle - pi0 correlation, %d pi0's",npi0));
Int_t evtIndex11 = 0 ;
Int_t evtIndex12 = 0 ;
xE =-pt/ptTrig*TMath::Cos(deltaPhi); // -(px*pxTrig+py*pyTrig)/(ptTrig*ptTrig);
if(xE < 0.)
- printf("MakeNeutralCorrelation(): Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f\n",
- xE,deltaPhi*TMath::RadToDeg(),TMath::Cos(deltaPhi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg());
+ AliWarning(Form("Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
+ xE,deltaPhi*TMath::RadToDeg(),TMath::Cos(deltaPhi),fDeltaPhiMinCut*TMath::RadToDeg(),fDeltaPhiMaxCut*TMath::RadToDeg()));
if(xE > 0 ) hbpXE = TMath::Log(1./xE);
refpi0->SetOwner(kFALSE);
}
refpi0->Add(pi0);
- }//put references in trigger AOD
+ } // put references in trigger AOD
- if(GetDebug() > 2 )
- printf("AliAnaParticleHadronCorrelation::MakeNeutralCorrelation() - Selected pi0: pt %2.2f, phi %2.2f, eta %2.2f \n",pt,phi,eta);
+ AliDebug(1,Form("Selected pi0: pt %2.2f, phi %2.2f, eta %2.2f",pt,phi,eta));
}//loop
{
// Charged Hadron Correlation Analysis with MC information
- if ( GetDebug() > 1 )
- AliInfo("Make trigger particle - charged hadron correlation in AOD MC level");
+ AliDebug(1,"Make trigger particle - charged hadron correlation in AOD MC level");
if( label < 0 )
{
- if( GetDebug() > 0 ) AliInfo(Form(" *** bad label ***: label %d", label));
+ AliDebug(1,Form(" *** bad label ***: label %d", label));
return;
}
if(!leadTrig && (fMakeAbsoluteLeading || fMakeNearSideLeading) )
{
- if(GetDebug() > 1)
- printf("AliAnaParticleHadronCorrelation::MakeMCChargedCorrelation(): Not leading primary trigger: pT %2.2f, phi %2.2f, eta %2.2f\n",
- ptprim,phiprim*TMath::RadToDeg(),etaprim);
+ AliDebug(1,Form("Not leading primary trigger: pT %2.2f, phi %2.2f, eta %2.2f",
+ ptprim,phiprim*TMath::RadToDeg(),etaprim));
fhMCPtTriggerNotLeading [histoIndex]->Fill(ptprim);
fhMCPhiTriggerNotLeading[histoIndex]->Fill(ptprim,phiprim);
}
else
{
- printf("n = larger than 19 or too small, set to 19 \n");
+ AliWarning("n = larger than 19 or too small, set to 19");
fNAssocPtBins = 19;
}
}
}
else
{
- printf("AliAnaParticleHadronCorrelation::SetAssocPtBinLimit() - bin number too large %d > %d or small, nothing done\n", ibin, fNAssocPtBins) ;
+ AliWarning(Form("Bin number too large %d > %d or small, nothing done", ibin, fNAssocPtBins)) ;
}
}
// (see AliRoot versions previous Release 4-09)
//
// -- Author: Gustavo Conesa (LNF-INFN)
-
-//-Yaxian Mao (add the possibility for different IC method with different pt range, 01/10/2010)
+//
//////////////////////////////////////////////////////////////////////////////
// --- ROOT system ---
{
AliVCluster* cluster = (AliVCluster *) pl->At(icluster);
- if(!cluster)
+ if ( !cluster )
{
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Cluster not available?");
+ AliWarning("Cluster not available?");
continue;
}
}
Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
- if(!eGeom->CheckAbsCellId(iabsId)) {printf("!eGeom->CheckAbsCellId(iabsId=%i) inSupMod %i irowLoc %i icolLoc %i \n",iabsId,inSupMod, irowLoc, icolLoc);continue;}
+ if(!eGeom->CheckAbsCellId(iabsId))
+ {
+ AliWarning(Form("!eGeom->CheckAbsCellId(iabsId=%i) inSupMod %i irowLoc %i icolLoc %i",iabsId,inSupMod, irowLoc, icolLoc));
+ continue;
+ }
phiBandPtSumCells += cells->GetCellAmplitude(iabsId);
fhPhiBandCell->Fill(colTrig,rowTrig);
//printf("inSupMod %i,irowLoc %i,icolLoc %i, iabsId %i, phiBandPtSumCells %f\n",nSupMod,irowLoc,icolLoc,iabsId,phiBandPtSumCells);
if(!track)
{
- printf("AliAnaParticleIsolation::CalculateTrackUEBand() - Track not available?");
+ AliWarning("Track not available?");
continue;
}
{
// Fill some histograms to understand pile-up
- if(clusterID < 0 )
+ if ( clusterID < 0 )
{
- printf("AliAnaParticleIsolation::FillPileUpHistograms(), ID of cluster = %d, not possible! ", clusterID);
+ AliWarning(Form("ID of cluster = %d, not possible!", clusterID));
return;
}
Int_t mcTag = pCandidate->GetTag() ;
Bool_t isolated = pCandidate->IsIsolated();
- if(clusterID < 0 )
+ if ( clusterID < 0 )
{
- printf("AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(), ID of cluster = %d, not possible! \n", clusterID);
+ AliWarning(Form("ID of cluster = %d, not possible!", clusterID));
return;
}
-
Float_t m02 = pCandidate->GetM02() ;
Float_t energy = pCandidate->E();
Int_t ptsumBin = -1;
Int_t leadptBin = -1;
- if( GetDebug() > 1 )
- printf("AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms() - pT cand: %2.2f, In cone pT: Sum %2.2f, Lead %2.2f, n bins %d\n",
- pt,coneptsum,coneleadpt,fNBkgBin);
+ AliDebug(1,Form("pT cand: %2.2f, In cone pT: Sum %2.2f, Lead %2.2f, n bins %d",pt,coneptsum,coneleadpt,fNBkgBin));
for(Int_t ibin = 0; ibin < fNBkgBin; ibin++)
{
}
// Fill the histograms per bin of pt lead or pt sum
- if( GetDebug() > 1 && ptsumBin >=0 ) printf("\t Sum bin %d [%2.2f,%2.2f]\n" , ptsumBin ,fBkgBinLimit[ptsumBin] ,fBkgBinLimit[ptsumBin +1]);
- if( GetDebug() > 1 && leadptBin >=0 ) printf("\t Lead bin %d [%2.2f,%2.2f]\n", leadptBin,fBkgBinLimit[leadptBin],fBkgBinLimit[leadptBin+1]);
- if( leadptBin >=0 )
+ if ( leadptBin >= 0 )
{
+ AliDebug(1,Form("\t Lead bin %d [%2.2f,%2.2f]", leadptBin,fBkgBinLimit[leadptBin],fBkgBinLimit[leadptBin+1]));
fhPtLeadConeBin[leadptBin]->Fill(pt);
if(fFillSSHisto) fhPtLeadConeBinLambda0[leadptBin]->Fill(pt,m02);
+
+ if ( leadptBin == 0 )
+ AliDebug(1,Form("No track/clusters in isolation cone: cand pt %2.2f GeV/c, track multiplicity %d, N clusters %d",
+ pt, GetTrackMultiplicity(),GetEMCALClusters()->GetEntriesFast()));
}
- if( ptsumBin >=0 )
+ if ( ptsumBin >= 0 )
{
+ AliDebug(1,Form("\t Sum bin %d [%2.2f,%2.2f]" , ptsumBin ,fBkgBinLimit[ptsumBin] ,fBkgBinLimit[ptsumBin +1]));
fhSumPtConeBin[ptsumBin]->Fill(pt);
if(fFillSSHisto) fhSumPtConeBinLambda0[ptsumBin]->Fill(pt,m02);
}
}
}
- if( GetDebug() > 1 && leadptBin == 0 )
- printf("No track/clusters in isolation cone: cand pt %2.2f GeV/c, track multiplicity %d, N clusters %d\n",
- pt, GetTrackMultiplicity(),GetEMCALClusters()->GetEntriesFast());
-
if(IsDataMC())
{
Int_t leadptBinMC = leadptBin+mcIndex*fNBkgBin;
}
// Fill the histograms per pT candidate bin of pt lead or pt sum
- if( GetDebug() > 1 && ptTrigBin >=0 ) printf("Trigger pT %f, bin %d [%2.2f,%2.2f]\n" , pt , ptTrigBin, fPtTrigBinLimit[ptTrigBin] ,fPtTrigBinLimit[ptTrigBin +1]);
- if( ptTrigBin >=0 )
+ if ( ptTrigBin >= 0 )
{
+ AliDebug(1,Form("Trigger pT %f, bin %d [%2.2f,%2.2f]",pt,ptTrigBin,fPtTrigBinLimit[ptTrigBin],fPtTrigBinLimit[ptTrigBin+1]));
+
fhPtTrigBinPtLeadCone[ptTrigBin]->Fill(coneleadpt);
fhPtTrigBinSumPtCone [ptTrigBin]->Fill(coneptsum );
if(fFillSSHisto)
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar, buffersize,"--- AliAnaParticleIsolation ---\n") ;
+ snprintf(onePar, buffersize,"--- AliAnaParticleIsolation ---:") ;
parList+=onePar ;
- snprintf(onePar, buffersize,"Calorimeter: %s\n",GetCalorimeterString().Data()) ;
+ snprintf(onePar, buffersize,"Calorimeter: %s;",GetCalorimeterString().Data()) ;
parList+=onePar ;
- snprintf(onePar, buffersize,"Isolation Cand Detector: %s\n",fIsoDetectorString.Data()) ;
+ snprintf(onePar, buffersize,"Isolation Cand Detector: %s;",fIsoDetectorString.Data()) ;
parList+=onePar ;
- snprintf(onePar, buffersize,"fReMakeIC =%d (Flag for reisolation during histogram filling) \n",fReMakeIC) ;
+ snprintf(onePar, buffersize,"fReMakeIC =%d (Flag for reisolation during histogram filling);",fReMakeIC) ;
parList+=onePar ;
- snprintf(onePar, buffersize,"fMakeSeveralIC=%d (Flag for isolation with several cuts at the same time ) \n",fMakeSeveralIC) ;
+ snprintf(onePar, buffersize,"fMakeSeveralIC=%d (Flag for isolation with several cuts at the same time );",fMakeSeveralIC) ;
parList+=onePar ;
- snprintf(onePar, buffersize,"fFillTMHisto=%d (Flag for track matching histograms) \n",fFillTMHisto) ;
+ snprintf(onePar, buffersize,"fFillTMHisto=%d (Flag for track matching histograms);",fFillTMHisto) ;
parList+=onePar ;
- snprintf(onePar, buffersize,"fFillSSHisto=%d (Flag for shower shape histograms) \n",fFillSSHisto) ;
+ snprintf(onePar, buffersize,"fFillSSHisto=%d (Flag for shower shape histograms);",fFillSSHisto) ;
parList+=onePar ;
if(fMakeSeveralIC)
{
- snprintf(onePar, buffersize,"fNCones =%d (Number of cone sizes) \n",fNCones) ;
+ snprintf(onePar, buffersize,"fNCones =%d (Number of cone sizes);",fNCones) ;
parList+=onePar ;
- snprintf(onePar, buffersize,"fNPtThresFrac=%d (Flag for isolation with several cuts at the same time ) \n",fNPtThresFrac) ;
+ snprintf(onePar, buffersize,"fNPtThresFrac=%d (Flag for isolation with several cuts at the same time);",fNPtThresFrac) ;
parList+=onePar ;
for(Int_t icone = 0; icone < fNCones ; icone++)
{
- snprintf(onePar, buffersize,"fConeSizes[%d]=%1.2f (isolation cone size) \n",icone, fConeSizes[icone]) ;
+ snprintf(onePar, buffersize,"fConeSizes[%d]=%1.2f (isolation cone size);",icone, fConeSizes[icone]) ;
parList+=onePar ;
}
for(Int_t ipt = 0; ipt < fNPtThresFrac ; ipt++)
{
- snprintf(onePar, buffersize,"fPtThresholds[%d]=%1.2f (isolation pt threshold) \n",ipt, fPtThresholds[ipt]) ;
+ snprintf(onePar, buffersize,"fPtThresholds[%d]=%1.2f (isolation pt threshold);",ipt, fPtThresholds[ipt]) ;
parList+=onePar ;
}
for(Int_t ipt = 0; ipt < fNPtThresFrac ; ipt++)
{
- snprintf(onePar, buffersize,"fPtFractions[%d]=%1.2f (isolation pt fraction threshold) \n",ipt, fPtFractions[ipt]) ;
+ snprintf(onePar, buffersize,"fPtFractions[%d]=%1.2f (isolation pt fraction threshold);",ipt, fPtFractions[ipt]) ;
parList+=onePar ;
}
for(Int_t ipt = 0; ipt < fNPtThresFrac ; ipt++)
{
- snprintf(onePar, buffersize,"fSumPtThresholds[%d]=%1.2f (isolation sum pt threshold) \n",ipt, fSumPtThresholds[ipt]) ;
+ snprintf(onePar, buffersize,"fSumPtThresholds[%d]=%1.2f (isolation sum pt threshold);",ipt, fSumPtThresholds[ipt]) ;
parList+=onePar ;
}
}
// The different cones, thresholds are tested for this list of tracks, clusters.
if(fMakeSeveralIC)
{
- printf("AliAnaParticleIsolation::Init() - Open default isolation cuts for multiple Isolation analysis\n");
+ AliInfo("Open default isolation cuts for multiple Isolation analysis");
GetIsolationCut()->SetPtThreshold(100);
GetIsolationCut()->SetPtFraction(100);
GetIsolationCut()->SetConeSize(1);
}
if(!GetReader()->IsCTSSwitchedOn() && GetIsolationCut()->GetParticleTypeInCone()!=AliIsolationCut::kOnlyNeutral)
- AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!\n");
+ AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
}
idLeading = index ;
pLeading->SetLeadingParticle(kTRUE);
- if( GetDebug() > 1 )
- printf("AliAnaParticleIsolation::IsTriggerTheNearSideEventLeadingParticle() - Particle AOD with index %d is leading with pT %2.2f\n",
- idLeading, pLeading->Pt());
+ AliDebug(1,Form("Particle AOD with index %d is leading with pT %2.2f",idLeading, pLeading->Pt()));
return kTRUE;
AliFatal(Form("No input particles in AOD with name branch < %s >, STOP",GetInputAODName().Data()));
if(strcmp(GetInputAODBranch()->GetClass()->GetName(), "AliAODPWG4ParticleCorrelation"))
- AliFatal(Form("Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s> \n",GetInputAODBranch()->GetClass()->GetName()));
+ AliFatal(Form("Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s>",
+ GetInputAODBranch()->GetClass()->GetName()));
Int_t n = 0, nfrac = 0;
Bool_t isolated = kFALSE ;
Int_t iaod0 = 0;
Int_t naod = GetInputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0)
- printf("AliAnaParticleIsolation::MakeAnalysisFillAOD() - Input aod branch entries %d\n", naod);
+ AliDebug(1,Form("Input aod branch entries %d", naod));
if(IsLeadingOnlyOn())
{
Bool_t leading = IsTriggerTheNearSideEventLeadingParticle(idLeading);
if(!leading)
{
- if(GetDebug() > 1) printf("AliAnaParticleIsolation::MakeAnalysisFillAOD() - Not leading; End fill AODs \n");
+ AliDebug(1,"Not leading; End fill AODs");
return;
}
iaod0 = idLeading ; // first entry in particle loop
if(!fMakeSeveralIC) aodinput->SetIsolated(isolated);
- if(GetDebug() > 1)
- {
- if(isolated) printf("AliAnaParticleIsolation::MakeAnalysisFillAOD() : Particle %d IS ISOLATED \n",iaod);
- printf("AliAnaParticleIsolation::MakeAnalysisFillAOD() - End fill AODs \n");
- }
+ AliDebug(1,Form("Particle isolated? %i; if so with index %d",isolated,iaod));
+
} // particle isolation loop
//Loop on stored AOD
Int_t naod = GetInputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0)
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Histo aod branch entries %d\n", naod);
+ AliDebug(1,Form("Histo aod branch entries %d", naod));
for(Int_t iaod = 0; iaod < naod ; iaod++)
{
Float_t phi = aod->Phi();
Float_t eta = aod->Eta();
- if(GetDebug() > 0)
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - pt %1.1f, eta %1.1f, phi %1.1f, Isolated %d\n",
- pt, eta, phi, isolated);
+ AliDebug(1,Form("pt %1.1f, eta %1.1f, phi %1.1f, Isolated %d",pt, eta, phi, isolated));
//---------------------------------------------------------------
// Fill pt/sum pT distribution of particles in cone or in UE band
if(coneptLeadCluster > coneptLeadTrack) coneptLead = coneptLeadCluster;
fhConePtLead->Fill(pt, coneptLead );
- if(GetDebug() > 1)
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d Energy Sum in Isolation Cone %2.2f, Leading pT in cone %2.2f\n",
- iaod, coneptsumTrack+coneptsumCluster, coneptLead);
+ AliDebug(1,Form("Particle %d Energy Sum in Isolation Cone %2.2f, Leading pT in cone %2.2f",
+ iaod, coneptsumTrack+coneptsumCluster, coneptLead));
//normalize phi/eta band per area unit
if(fFillUEBandSubtractHistograms)
if(isolated)
{
- if(GetDebug() > 1)
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d ISOLATED: fill histograms\n", iaod);
+ AliDebug(1,Form("Particle %d ISOLATED: fill histograms", iaod));
fhEIso ->Fill(energy);
fhPtIso ->Fill(pt);
}//Isolated histograms
else // NON isolated
{
- if(GetDebug() > 1)
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d NOT ISOLATED, fill histograms\n", iaod);
+ AliDebug(1,Form("Particle %d NOT ISOLATED, fill histograms", iaod));
fhENoIso ->Fill(energy);
fhPtNoIso ->Fill(pt);
// Fill acceptance histograms if MC data is available
// Only when particle is in the calorimeter. Rethink if CTS is used.
- if(GetDebug() > 0) printf("AliAnaParticleIsolation::FillAcceptanceHistograms() - Start \n");
+ AliDebug(1,"Start");
//Double_t photonY = -100 ;
Double_t photonE = -1 ;
primStack = stack->Particle(i) ;
if(!primStack)
{
- printf("AliAnaParticleIsolation::FillAcceptanceHistograms() - ESD primaries pointer not available!!\n");
+ AliWarning("ESD primaries pointer not available!!");
continue;
}
primAOD = (AliAODMCParticle *) mcparticles->At(i);
if(!primAOD)
{
- printf("AliAnaParticleIsolation::FillAcceptanceHistograms() - AOD primaries pointer not available!!\n");
+ AliWarning("AOD primaries pointer not available!!");
continue;
}
} // isolated
}//loop on primaries
- if(GetDebug() > 0) printf("AliAnaParticleIsolation::FillAcceptanceHistograms() - End \n");
+ AliDebug(1,"End");
}
if(decayTag < 0) decayTag = 0;
}
- if(GetDebug() > 0)
- printf("AliAnaParticleIsolation::MakeSeveralICAnalysis() - Isolate pT %2.2f, decay tag %d\n",ptC, decayTag);
+ AliDebug(1,Form("Isolate pT %2.2f, decay tag %d",ptC, decayTag));
//Keep original setting used when filling AODs, reset at end of analysis
Float_t ptthresorg = GetIsolationCut()->GetPtThreshold();
//fill the histograms at forward range
if(!track)
{
- printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Track not available?");
+ AliDebug(1,"Track not available?");
continue;
}
// Normal pT threshold cut
- if(GetDebug() > 0)
- {
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - cone size %1.1f, ptThres %1.1f, sumptThresh %1.1f\n",
- fConeSizes[icone],fPtThresholds[ipt],fSumPtThresholds[ipt]);
- printf("\t n %d, nfrac %d, coneptsum %2.2f\n",
- n[icone][ipt],nfrac[icone][ipt],coneptsum);
-
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - pt %1.1f, eta %1.1f, phi %1.1f\n",ptC, etaC, phiC);
- }
+ AliDebug(1,Form("Cone size %1.1f, ptThres %1.1f, sumptThresh %1.1f",fConeSizes[icone],fPtThresholds[ipt],fSumPtThresholds[ipt]));
+ AliDebug(1,Form("\t n %d, nfrac %d, coneptsum %2.2f",n[icone][ipt],nfrac[icone][ipt],coneptsum));
+ AliDebug(1,Form("pt %1.1f, eta %1.1f, phi %1.1f",ptC, etaC, phiC));
if(n[icone][ipt] == 0)
{
- if(GetDebug() > 0)
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - filling pt threshold loop\n");
+ AliDebug(1,"Filling pt threshold loop");
fhPtThresIsolated [icone][ipt]->Fill(ptC);
fhEtaPhiPtThresIso[icone][ipt]->Fill(etaC,phiC);
// pt in cone fraction
if(nfrac[icone][ipt] == 0)
{
- if(GetDebug() > 0)
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - filling frac loop\n");
+ AliDebug(1,"Filling frac loop");
fhPtFracIsolated [icone][ipt]->Fill(ptC);
fhEtaPhiPtFracIso[icone][ipt]->Fill(etaC,phiC);
}
}
- if(GetDebug()>0)
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - checking IC method : %i\n",GetIsolationCut()->GetICMethod());
+ AliDebug(1,Form("Checking IC method : %i",GetIsolationCut()->GetICMethod()));
//Pt threshold on pt cand/ sum in cone histograms
if(coneptsum < fSumPtThresholds[ipt])
{
- if(GetDebug() > 0 )
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - filling sum loop\n");
+ AliDebug(1,"Filling sum loop");
fhSumPtIsolated [icone][ipt]->Fill(ptC) ;
fhEtaPhiPtSumIso[icone][ipt]->Fill(etaC, phiC) ;
if(coneptsum < fPtFractions[ipt]*ptC)
{
- if(GetDebug() > 0)
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - filling PtFrac PtSum loop\n");
+ AliDebug(1,"Filling PtFrac PtSum loop");
fhPtFracPtSumIso [icone][ipt]->Fill(ptC) ;
fhEtaPhiFracPtSumIso[icone][ipt]->Fill(etaC,phiC) ;
Float_t cellDensity = GetIsolationCut()->GetCellDensity( ph, GetReader());
if(coneptsum < fSumPtThresholds[ipt]*cellDensity)
{
- if(GetDebug() > 0)
- printf(" AliAnaParticleIsolation::MakeSeveralICAnalysis() - filling density loop\n");
+ AliDebug(1,"Filling density loop");
fhPtSumDensityIso [icone][ipt]->Fill(ptC) ;
fhEtaPhiSumDensityIso[icone][ipt]->Fill(etaC,phiC) ;
fhDeltaPhi0PiCorrectBefore->Fill(particlePt, deltaPhi0pi);//good
- if(GetDebug() > 5)
- printf("AliAnaParticleJetFinderCorrelation::SelectJet() - Jet %d, Ratio pT %2.3f, Delta phi %2.3f\n",ijet,ratio,deltaPhi);
+ AliDebug(5,Form("Jet %d, Ratio pT %2.3f, Delta phi %2.3f",ijet,ratio,deltaPhi));
if((deltaPhi > fDeltaPhiMinCut) && (deltaPhi < fDeltaPhiMaxCut) &&
(ratio > fRatioMinCut) && (ratio < fRatioMaxCut) &&
}
else
{
- if(GetDebug() > 3) AliInfo("There are no jets available for this analysis");
+ AliDebug(1,"There are no jets available for this analysis");
return;
}
Int_t nJets=-1;
TClonesArray *aodRecJets = 0;
//if(IsNonStandardJetFromReader()){//jet branch from reader
- if(GetDebug() > 3) AliInfo(Form("GetNonStandardJets function (from reader) is called"));
+ AliDebug(3,Form("GetNonStandardJets function (from reader) is called"));
aodRecJets = GetNonStandardJets();
- if(GetDebug() > 3) AliInfo(Form("aodRecJets %p",aodRecJets));
+ AliDebug(3,Form("aodRecJets %p",aodRecJets));
if(aodRecJets==0x0)
{
if(GetDebug() > 3) event->Print();
return;
}
nJets=aodRecJets->GetEntries();
- if(GetDebug() > 3) printf("nJets %d\n",nJets);
+ AliDebug(3,Form("nJets %d",nJets));
//}
//end of new part
//
AliAODJetEventBackground* aodBkgJets = 0;
if(IsBackgroundJetFromReader()){//jet branch from reader
- if(GetDebug() > 3) printf("GetBackgroundJets function is called\n");
+ AliDebug(3,"GetBackgroundJets function is called");
aodBkgJets = GetBackgroundJets();
- if(GetDebug() > 3) printf("aodBkgJets %p\n",aodBkgJets);
+ AliDebug(3,Form("aodBkgJets %p",aodBkgJets));
if(aodBkgJets==0x0){
if(GetDebug() > 3) event->Print();
AliFatal("No jet background found\n");
Int_t ntrig = GetInputAODBranch()->GetEntriesFast() ;
- if(GetDebug() > 3){
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillAOD() - Begin jet finder correlation analysis, fill AODs \n");
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillAOD() - In particle branch aod entries %d\n", ntrig);
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillAOD() - In standard jet branch aod entries %d\n", event->GetNJets());
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillAOD() - In non standard jet branch aod entries %d\n", nJets);
- }
+
+ AliDebug(3,"Begin jet finder correlation analysis, fill AODs");
+ AliDebug(3,Form("In particle branch aod entries %d\n", ntrig));
+ AliDebug(3,Form("In standard jet branch aod entries %d\n", event->GetNJets()));
+ AliDebug(3,Form("In non standard jet branch aod entries %d\n", nJets));
//if(nJets==0) return;//to speed up
// cout<<"ntrig po return "<<ntrig<<endl;
Int_t ijet = SelectJet(particle,aodRecJets);//input for jets is TClonesArray
if(ijet > -1){
//isJetFound=kTRUE;
- if(GetDebug() > 2) printf ("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillAOD() - Jet with index %d selected \n",ijet);
+ AliDebug(2,Form("Jet with index %d selected",ijet));
AliAODJet *jet = dynamic_cast<AliAODJet*>(aodRecJets-> At(ijet));
if(jet)particle->SetRefJet(jet);
//printf("Most opposite found\n");
// if(GetReader()->WriteDeltaAODToFile() && isJetFound) WriteJetsToOutputBranch(aodRecJets);
}//end of take most opposite photon and jet after bkg subtraction
-
- if(GetDebug() > 1 ) printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillAOD() - End fill AODs \n");
+ AliDebug(1," End fill AODs \n");
}
//__________________________________________________________________
void AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms()
{
//Particle-Jet Correlation Analysis, fill histograms
- if(GetDebug() > 3 ) {
- printf("I use MakeAnalysisFillHistograms\n");
- printf("ntracks before iso %d\n",GetCTSTracks()->GetEntriesFast() );
- }
+
+ AliDebug(3,"I use MakeAnalysisFillHistograms");
+ AliDebug(3,Form("ntracks before iso %d\n",GetCTSTracks()->GetEntriesFast()));
+
//Get the event, check if there are AODs available, if not, skip this analysis
AliAODEvent * event = NULL;
{
event = dynamic_cast<AliAODEvent*>(GetReader()->GetInputEvent());
}
- else {
- if(GetDebug() > 3) printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms() - There are no jets available for this analysis\n");
+ else
+ {
+ AliDebug(3,"There are no jets available for this analysis");
return;
}
- if(!GetInputAODBranch() || !event){
-
- AliFatal(Form("No input particles in AOD with name branch < %s > \n",
+ if(!GetInputAODBranch() || !event)
+ {
+ AliFatal(Form("No input particles in AOD with name branch < %s >",
GetInputAODName().Data()));
return; // Trick coverity
}
Int_t nJets=-1;
TClonesArray *aodRecJets = 0;
//if(IsNonStandardJetFromReader()){//branch read in reader from reader
- if (GetDebug() > 3) printf("GetNonStandardJets function (from reader) is called\n");
+ AliDebug(3,"GetNonStandardJets function (from reader) is called");
aodRecJets = GetNonStandardJets();
- if(aodRecJets==0x0){
+ if(aodRecJets==0x0)
+ {
if(GetDebug() > 3) event->Print();
AliFatal("Jets container not found\n");
return; // trick coverity
}
nJets=aodRecJets->GetEntries();
//}
- if(nJets==0) {
+ if(nJets==0)
+ {
// printf("Why number of jets = 0? Check what type of collision it is. If PbPb -problem.\n");
GetReader()->FillInputNonStandardJets();
aodRecJets = GetNonStandardJets();
//
AliAODJetEventBackground* aodBkgJets = 0;
if(IsBackgroundJetFromReader()){//jet branch from reader
- if(GetDebug() > 3) printf("GetBackgroundJets function is called\n");
+ AliDebug(3,"GetBackgroundJets function is called");
aodBkgJets = GetBackgroundJets();
- if(GetDebug() > 3) printf("aodBkgJets %p\n",aodBkgJets);
- if(aodBkgJets==0x0){
+ AliDebug(3,Form("aodBkgJets %p",aodBkgJets));
+ if(aodBkgJets==0x0)
+ {
if(GetDebug() > 3) event->Print();
AliFatal("No jet background container found");
return; // trick coverity
if(GetDebug() > 3) aodBkgJets->Print("c");
}
-
//
// only background jets informations
//
fhJetPt->Fill(jetPttmp);
fhJetChBkgEnergyVsPt->Fill(jetPttmp,effectiveChargedBgEnergy);
fhJetChAreaVsPt->Fill(jetPttmp,jettmp->EffectiveAreaCharged());
- if(GetDebug()>5) printf("ChargedBgEnergy %f EffectiveAreaCharged %f\n", jettmp->ChargedBgEnergy(),jettmp->EffectiveAreaCharged());
- for(iCounter=1;iCounter<10;iCounter++){
+ AliDebug(5,Form("ChargedBgEnergy %f EffectiveAreaCharged %f\n", jettmp->ChargedBgEnergy(),jettmp->EffectiveAreaCharged()));
+ for(iCounter=1;iCounter<10;iCounter++)
+ {
if(jetPttmp>iCounter) nJetsOverThreshold[iCounter]++;
}
// Photons
//
Int_t ntrig = GetInputAODBranch()->GetEntriesFast() ;
- if(GetDebug() > 1){
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms() - Begin jet finder correlation analysis, fill histograms \n");
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms() - In particle branch aod entries %d\n", ntrig);
- printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms() - In jet output branch aod entries %d\n", event->GetNJets());
- }
+
+ AliDebug(1,"Begin jet finder correlation analysis, fill histograms");
+ AliDebug(1,Form("In particle branch aod entries %d\n", ntrig));
+ AliDebug(1,Form("In jet output branch aod entries %d\n", event->GetNJets()));
+
fhNjetsNgammas->Fill(nJets,ntrig);
//if(nJets==0) return;//to speed up
AliAODPWG4ParticleCorrelation* particlecorr = (AliAODPWG4ParticleCorrelation*) (GetInputAODBranch()->At(iaod));
fhCuts->Fill(0);
fhCuts2->Fill(0.,(Double_t)nJets);
- if(GetDebug() > 5) printf("OnlyIsolated %d !particlecorr->IsIsolated() %d \n",OnlyIsolated(), !particlecorr->IsIsolated());
+ AliDebug(1,Form("OnlyIsolated %d !particlecorr->IsIsolated() %d \n",OnlyIsolated(), !particlecorr->IsIsolated()));
if(OnlyIsolated() && !particlecorr->IsIsolated()) continue;
fhCuts->Fill(1);
if(fMakeCorrelationInHistoMaker){
//Correlate with jets
Int_t ijet = SelectJet(particlecorr,aodRecJets);//input for jets is TClonesArray
- if(ijet > -1){
- if(GetDebug() > 2) printf ("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms() - Jet with index %d selected \n",ijet);
+ if(ijet > -1)
+ {
+ AliDebug(1,Form("Jet with index %d selected \n",ijet));
//jet = event->GetJet(ijet);
jet = dynamic_cast<AliAODJet*>(aodRecJets-> At(ijet));
TVector3 p3;
Int_t ntracks = 0;
- if(GetDebug()>3){
- printf ("fUseJetRefTracks %d\n",fUseJetRefTracks );
- printf ("jet->GetRefTracks() %p\n",jet->GetRefTracks());
- printf ("GetCTSTracks() %p\n",GetCTSTracks() );
- }
+
+ AliDebug(1,Form("fUseJetRefTracks %d" ,fUseJetRefTracks ));
+ AliDebug(1,Form("jet->GetRefTracks() %p",jet->GetRefTracks()));
+ AliDebug(1,Form("GetCTSTracks() %p" ,GetCTSTracks() ));
if(!fUseJetRefTracks)
ntracks =GetCTSTracks()->GetEntriesFast();
else //If you want to use jet tracks from JETAN
ntracks = (jet->GetRefTracks())->GetEntriesFast();
- if(GetDebug()>3) printf ("ntracks %d\n",ntracks);
+ AliDebug(3,Form("ntracks %d\n",ntracks));
AliVTrack* track = 0x0 ;
for(Int_t ipr = 0;ipr < ntracks ; ipr ++ ){
if(!fUseJetRefTracks)
if(fSaveGJTree) fTreeGJ->Fill();
}//AOD trigger particle loop
- if(GetDebug() > 1) printf("AliAnaParticleJetFinderCorrelation::MakeAnalysisFillHistograms() - End fill histograms \n");
+ AliDebug(1,"End fill histograms");
}
Double_t Yz=jx*Xy-jy*Xx;
//Determinant
Double_t det = Xx*Yy*jz + Xy*Yz*jx + Xz*Yx*jy - Xx*Yz*jy - Xy*Yx*jz - Xz*Yy*jx;
- if(det==0)printf("problem det==0\n");
+ if(det==0)AliWarning("problem det==0\n");
Double_t detX = 0.;
Double_t detY = 0.;
Double_t detZ = 0.;
Double_t Yz=jx*Xy-jy*Xx;
//Determinant
Double_t det = Xx*Yy*jz + Xy*Yz*jx + Xz*Yx*jy - Xx*Yz*jy - Xy*Yx*jz - Xz*Yy*jx;
- if(det==0)printf("problem det==0\n");
+ if(det==0)AliWarning("problem det==0");
Double_t detX = 0.;
Double_t detY = 0.;
Double_t detZ = 0.;
std::vector<Int_t> jetParticleIndex;
if(GetReader()->ReadStack()) {//ESD
- if(GetDebug()>3) printf("I use stack\n");
+ AliDebug(3,"I use stack");
}//end Stack
else if(GetReader()->ReadAODMCParticles()) {//AOD
TClonesArray * mcparticles = GetReader()->GetAODMCParticles();
//index =6 and 7 is hard scattering (jet-quark or photon)
primTmp = (AliAODMCParticle *) mcparticles->At(6);
pdg=primTmp->GetPdgCode();
- if(GetDebug()>3) printf("id 6 pdg %d, pt %f ",pdg,primTmp->Pt() );
+ AliDebug(3,Form("id 6 pdg %d, pt %f ",pdg,primTmp->Pt() ));
if(TMath::Abs(pdg)<=6 ||pdg==21) {
fhMCJetOrigin->Fill(pdg);
fMCPartonType=pdg;
}
primTmp = (AliAODMCParticle *) mcparticles->At(7);
pdg=primTmp->GetPdgCode();
- if(GetDebug()>3) printf("id 7 pdg %d, pt %f\n",pdg,primTmp->Pt() );
+ AliDebug(3,Form("id 7 pdg %d, pt %f",pdg,primTmp->Pt() ));
if(TMath::Abs(pdg)<=6 ||pdg==21) {
fhMCJetOrigin->Fill(pdg);
fMCPartonType=pdg;
fhMCPhotonCuts->Fill(0);
if(prim->GetStatus()!=1) continue;
fhMCPhotonCuts->Fill(1);
- if(GetDebug()>5) printf("id %d, prim %d, physPrim %d, status %d\n",i,prim->IsPrimary(),prim->IsPhysicalPrimary(),prim->GetStatus());
+ AliDebug(5,Form("id %d, prim %d, physPrim %d, status %d\n",i,prim->IsPrimary(),prim->IsPhysicalPrimary(),prim->GetStatus()));
while(mother>7){
primTmp = (AliAODMCParticle *) mcparticles->At(mother);
mother=primTmp->GetMother();
if(GetEMCALGeometry()) {
GetEMCALGeometry()->GetAbsCellIdFromEtaPhi(prim->Eta(),prim->Phi(),absID);
if(absID >= 0) inacceptance = kTRUE;
- if(GetDebug() > 3) printf("In EMCAL Real acceptance? %d\n",inacceptance);
+ AliDebug(3,Form("In EMCAL Real acceptance? %d",inacceptance));
}
else{
if(GetFiducialCut()->IsInFiducialCut(fMomentum.Eta(),fMomentum.Phi(),kEMCAL)) inacceptance = kTRUE ;
- if(GetDebug() > 3) printf("In EMCAL fiducial cut acceptance? %d\n",inacceptance);
+ AliDebug(1,Form("In EMCAL fiducial cut acceptance? %d",inacceptance));
}
}else{//no EMCAL nor EMCALGeoMatrixSet
- printf("not EMCALGeoMatrix set\n");
+ AliWarning("not EMCALGeoMatrix set");
}//end of check if EMCAL
if(inacceptance)fhMCPhotonCuts->Fill(5);
- if(GetDebug() > 5)
- printf("Photon Energy %f, Pt %f\n",prim->E(),prim->Pt());
+ AliDebug(5,Form("Photon Energy %f, Pt %f",prim->E(),prim->Pt()));
fMCGamPt=photonPt;
fMCGamEta=photonEta;
fMCGamPhi=photonPhi;
}//end of check if photon
- else{//not photon
+ else
+ {//not photon
if(prim->GetStatus()!=1) continue;
- if(GetDebug() > 5)
- printf("id %d, prim %d, physPrim %d, status %d, pdg %d, E %f ",i,prim->IsPrimary(),prim->IsPhysicalPrimary(),prim->GetStatus(),prim->GetPdgCode(),prim->E());
- while(mother>7){
+ AliDebug(5,Form("id %d, prim %d, physPrim %d, status %d, pdg %d, E %f",
+ i,prim->IsPrimary(),prim->IsPhysicalPrimary(),prim->GetStatus(),prim->GetPdgCode(),prim->E()));
+
+ while(mother>7)
+ {
primTmp = (AliAODMCParticle *) mcparticles->At(mother);
mother=primTmp->GetMother();
- if(GetDebug() > 5) printf("next mother %d ",mother);
+ AliDebug(5,Form("next mother %d",mother));
}
- if(GetDebug() > 5) printf("\n");
if(mother<6)continue;//soft part
+
primTmp = (AliAODMCParticle *) mcparticles->At(mother);
pdg=primTmp->GetPdgCode();
if( !(TMath::Abs(pdg)<=6 || pdg==21) ) continue;//origin not hard q or g
//printouts
- if(GetDebug() > 3) {
- printf("cone full %f, charged %f, full150 %f, charged150 %f\n",coneJet,coneChargedJet,coneJet150,coneChargedJet150);
- printf("Npart %d, NchPart %d, Npart(pt>150M) %d, NchPart(pt>150M) %d, NchPart(pt>150M)Cone %d\n",nParticlesInJet,nChargedParticlesInJet,nParticlesInJet150,nChargedParticlesInJet150,nChargedParticlesInJet150Cone);
- printf("Etot %f, Ech %f, E(pt>150M) %f, Ech(pt>150M) %f\n",eneParticlesInJet,eneChargedParticlesInJet,eneParticlesInJet150,eneChargedParticlesInJet150);
- printf("pt %f, ptch %f, pt(pt>150M) %f,ptch(pt>150M) %f,ptch(pt>150M)Cone %f\n",ptParticlesInJet,ptChargedParticlesInJet,ptParticlesInJet150,ptChargedParticlesInJet150,ptChargedParticlesInJet150Cone);
- printf("eta/phi tot %f/%f, ch %f/%f, tot150 %f/%f, ch150 %f/%f, ch150cone %f/%f\n",etaParticlesInJet,phiParticlesInJet,etaChargedParticlesInJet,phiChargedParticlesInJet,etaParticlesInJet150,phiParticlesInJet150,etaChargedParticlesInJet150,phiChargedParticlesInJet150,etaChargedParticlesInJet150Cone,phiChargedParticlesInJet150Cone);
- }
+
+ AliDebug(3,Form("cone full %f, charged %f, full150 %f, charged150 %f",coneJet,coneChargedJet,coneJet150,coneChargedJet150));
+ AliDebug(3,Form("Npart %d, NchPart %d, Npart(pt>150M) %d, NchPart(pt>150M) %d, NchPart(pt>150M)Cone %d\n",nParticlesInJet,nChargedParticlesInJet,nParticlesInJet150,nChargedParticlesInJet150,nChargedParticlesInJet150Cone));
+ AliDebug(3,Form("Etot %f, Ech %f, E(pt>150M) %f, Ech(pt>150M) %f\n",eneParticlesInJet,eneChargedParticlesInJet,eneParticlesInJet150,eneChargedParticlesInJet150));
+ AliDebug(3,Form("pt %f, ptch %f, pt(pt>150M) %f,ptch(pt>150M) %f,ptch(pt>150M)Cone %f\n",ptParticlesInJet,ptChargedParticlesInJet,ptParticlesInJet150,ptChargedParticlesInJet150,ptChargedParticlesInJet150Cone));
+ AliDebug(3,Form("eta/phi tot %f/%f, ch %f/%f, tot150 %f/%f, ch150 %f/%f, ch150cone %f/%f\n",etaParticlesInJet,phiParticlesInJet,etaChargedParticlesInJet,phiChargedParticlesInJet,etaParticlesInJet150,phiParticlesInJet150,etaChargedParticlesInJet150,phiChargedParticlesInJet150,etaChargedParticlesInJet150Cone,phiChargedParticlesInJet150Cone));
+
//fill histograms
if(ptParticlesInJet) fhMCJetRatioChFull->Fill(ptChargedParticlesInJet/ptParticlesInJet);
if(ptChargedParticlesInJet) fhMCJetRatioCh150Ch->Fill(ptChargedParticlesInJet150/ptChargedParticlesInJet);
// 2) Search for the highest pt leading particle opposite to the photon within a phi, pt window
// 3) Take all particles around leading in a cone R with pt larger than threshold and construct the jet
//
-// Class created from old AliPHOSGammaJet
+// Class created from old AliPHOSGammaJet
// (see AliRoot versions previous Release 4-09)
//
-//*-- Author: Gustavo Conesa (LNF-INFN)
+//*-- Author: Gustavo Conesa (LNF-INFN)
//////////////////////////////////////////////////////////////////////////////
#include "AliVCluster.h"
#include "AliCaloTrackReader.h"
#include "AliNeutralMesonSelection.h"
-#include "AliAnaParticleJetLeadingConeCorrelation.h"
+#include "AliAnaParticleJetLeadingConeCorrelation.h"
#include "AliCaloPID.h"
#include "AliAODPWG4ParticleCorrelation.h"
#include "AliFiducialCut.h"
ClassImp(AliAnaParticleJetLeadingConeCorrelation)
-//____________________________________________________________________________
- AliAnaParticleJetLeadingConeCorrelation::AliAnaParticleJetLeadingConeCorrelation() :
- AliAnaCaloTrackCorrBaseClass(), fJetsOnlyInCTS(kFALSE), fPbPb(kFALSE),
- fSeveralConeAndPtCuts(0), fReMakeJet(0),
- fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.),
- fLeadingRatioMaxCut(0.), fLeadingRatioMinCut(0.),
- fJetCTSRatioMaxCut(0.), fJetCTSRatioMinCut(0.),
- fJetRatioMaxCut(0.), fJetRatioMinCut(0.),
- fJetNCone(0),fJetNPt(0), fJetCone(0),
- fJetPtThreshold(0),fJetPtThresPbPb(0),
- fPtTriggerSelectionCut(0.0), fSelect(0),fSelectIsolated(0),
- fTrackVector(),fBkgMom(),fJetMom(),fJetConstMom(),
- fLeadingMom(),fLeadingPi0Mom(),fLeadingPhoMom1(),fLeadingPhoMom2(),fLeadingChargeMom(),
- //Histograms
- fOutCont(0x0),
- //Leading
- fhChargedLeadingPt(0),fhChargedLeadingPhi(0),fhChargedLeadingEta(0),
- fhChargedLeadingDeltaPt(0),fhChargedLeadingDeltaPhi(0),fhChargedLeadingDeltaEta(0),
- fhChargedLeadingRatioPt(0),
- fhNeutralLeadingPt(0),fhNeutralLeadingPhi(0),fhNeutralLeadingEta(0),
- fhNeutralLeadingDeltaPt(0),fhNeutralLeadingDeltaPhi(0),fhNeutralLeadingDeltaEta(0),
- fhNeutralLeadingRatioPt(0),fhChargedLeadingXi(0), fhNeutralLeadingXi(0),
- fhChargedLeadingDeltaPhiRatioPt30(0), fhNeutralLeadingDeltaPhiRatioPt30(0),
- fhChargedLeadingDeltaPhiRatioPt50(0), fhNeutralLeadingDeltaPhiRatioPt50(0),
- //Jet
- fhJetPt(0),fhJetRatioPt(0),fhJetDeltaPhi(0), fhJetDeltaEta(0),
- fhJetLeadingRatioPt(0),fhJetLeadingDeltaPhi(0),fhJetLeadingDeltaEta(0),
- fhJetFFz(0),fhJetFFxi(0),fhJetFFpt(0),fhJetNTracksInCone(0),
- fhBkgPt(0),fhBkgRatioPt(0),fhBkgDeltaPhi(0), fhBkgDeltaEta(0),
- fhBkgLeadingRatioPt(0),fhBkgLeadingDeltaPhi(0),fhBkgLeadingDeltaEta(0),
- fhBkgFFz(0),fhBkgFFxi(0),fhBkgFFpt(0),fhBkgNTracksInCone(0),
- //Several cones and thres histograms
- fhJetPts(),fhJetRatioPts(),fhJetDeltaPhis(), fhJetDeltaEtas(),
- fhJetLeadingRatioPts(),fhJetLeadingDeltaPhis(),fhJetLeadingDeltaEtas(),
- fhJetFFzs(),fhJetFFxis(),fhJetFFpts(),fhJetNTracksInCones(),
- fhBkgPts(),fhBkgRatioPts(),fhBkgDeltaPhis(), fhBkgDeltaEtas(),
- fhBkgLeadingRatioPts(),fhBkgLeadingDeltaPhis(),fhBkgLeadingDeltaEtas(),
- fhBkgFFzs(),fhBkgFFxis(),fhBkgFFpts(),fhBkgNTracksInCones()
+//_________________________________________________________________________________
+AliAnaParticleJetLeadingConeCorrelation::AliAnaParticleJetLeadingConeCorrelation() :
+AliAnaCaloTrackCorrBaseClass(), fJetsOnlyInCTS(kFALSE), fPbPb(kFALSE),
+fSeveralConeAndPtCuts(0), fReMakeJet(0),
+fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.),
+fLeadingRatioMaxCut(0.), fLeadingRatioMinCut(0.),
+fJetCTSRatioMaxCut(0.), fJetCTSRatioMinCut(0.),
+fJetRatioMaxCut(0.), fJetRatioMinCut(0.),
+fJetNCone(0),fJetNPt(0), fJetCone(0),
+fJetPtThreshold(0),fJetPtThresPbPb(0),
+fPtTriggerSelectionCut(0.0), fSelect(0),fSelectIsolated(0),
+fTrackVector(),fBkgMom(),fJetMom(),fJetConstMom(),
+fLeadingMom(),fLeadingPi0Mom(),fLeadingPhoMom1(),fLeadingPhoMom2(),fLeadingChargeMom(),
+//Histograms
+fOutCont(0x0),
+//Leading
+fhChargedLeadingPt(0),fhChargedLeadingPhi(0),fhChargedLeadingEta(0),
+fhChargedLeadingDeltaPt(0),fhChargedLeadingDeltaPhi(0),fhChargedLeadingDeltaEta(0),
+fhChargedLeadingRatioPt(0),
+fhNeutralLeadingPt(0),fhNeutralLeadingPhi(0),fhNeutralLeadingEta(0),
+fhNeutralLeadingDeltaPt(0),fhNeutralLeadingDeltaPhi(0),fhNeutralLeadingDeltaEta(0),
+fhNeutralLeadingRatioPt(0),fhChargedLeadingXi(0), fhNeutralLeadingXi(0),
+fhChargedLeadingDeltaPhiRatioPt30(0), fhNeutralLeadingDeltaPhiRatioPt30(0),
+fhChargedLeadingDeltaPhiRatioPt50(0), fhNeutralLeadingDeltaPhiRatioPt50(0),
+//Jet
+fhJetPt(0),fhJetRatioPt(0),fhJetDeltaPhi(0), fhJetDeltaEta(0),
+fhJetLeadingRatioPt(0),fhJetLeadingDeltaPhi(0),fhJetLeadingDeltaEta(0),
+fhJetFFz(0),fhJetFFxi(0),fhJetFFpt(0),fhJetNTracksInCone(0),
+fhBkgPt(0),fhBkgRatioPt(0),fhBkgDeltaPhi(0), fhBkgDeltaEta(0),
+fhBkgLeadingRatioPt(0),fhBkgLeadingDeltaPhi(0),fhBkgLeadingDeltaEta(0),
+fhBkgFFz(0),fhBkgFFxi(0),fhBkgFFpt(0),fhBkgNTracksInCone(0),
+//Several cones and thres histograms
+fhJetPts(),fhJetRatioPts(),fhJetDeltaPhis(), fhJetDeltaEtas(),
+fhJetLeadingRatioPts(),fhJetLeadingDeltaPhis(),fhJetLeadingDeltaEtas(),
+fhJetFFzs(),fhJetFFxis(),fhJetFFpts(),fhJetNTracksInCones(),
+fhBkgPts(),fhBkgRatioPts(),fhBkgDeltaPhis(), fhBkgDeltaEtas(),
+fhBkgLeadingRatioPts(),fhBkgLeadingDeltaPhis(),fhBkgLeadingDeltaEtas(),
+fhBkgFFzs(),fhBkgFFxis(),fhBkgFFpts(),fhBkgNTracksInCones()
{
//Default Ctor
//Initialize parameters
-
+
for(Int_t i = 0; i<6; i++){
fJetXMin1[i] = 0.0 ;
fJetXMin2[i] = 0.0 ;
for(Int_t j = 0; j<5; j++){
fhJetPts[i][j]=0 ;
fhJetRatioPts[i][j]=0 ;
- fhJetDeltaPhis[i][j]=0 ;
+ fhJetDeltaPhis[i][j]=0 ;
fhJetDeltaEtas[i][j]=0 ;
fhJetLeadingRatioPts[i][j]=0 ;
fhJetLeadingDeltaPhis[i][j]=0 ;
fhJetNTracksInCones[i][j]=0 ;
fhBkgPts[i][j]=0 ;
fhBkgRatioPts[i][j]=0 ;
- fhBkgDeltaPhis[i][j]=0 ;
+ fhBkgDeltaPhis[i][j]=0 ;
fhBkgDeltaEtas[i][j]=0 ;
fhBkgLeadingRatioPts[i][j]=0 ;
fhBkgLeadingDeltaPhis[i][j]=0 ;
fhBkgNTracksInCones[i][j]=0 ;
}
}
-
- InitParameters();
-
-}
-/*
-//____________________________________________________________________________
-AliAnaParticleJetLeadingConeCorrelation::AliAnaParticleJetLeadingConeCorrelation(const AliAnaParticleJetLeadingConeCorrelation & jetlc) :
- AliAnaCaloTrackCorrBaseClass(jetlc), fJetsOnlyInCTS(jetlc.fJetsOnlyInCTS), fPbPb(jetlc.fPbPb),
- fSeveralConeAndPtCuts(jetlc.fSeveralConeAndPtCuts), fReMakeJet(jetlc. fReMakeJet),
- fDeltaPhiMaxCut(jetlc. fDeltaPhiMaxCut), fDeltaPhiMinCut(jetlc.fDeltaPhiMinCut),
- fLeadingRatioMaxCut(jetlc.fLeadingRatioMaxCut), fLeadingRatioMinCut(jetlc.fLeadingRatioMinCut),
- fJetCTSRatioMaxCut(jetlc.fJetCTSRatioMaxCut),
- fJetCTSRatioMinCut(jetlc.fJetCTSRatioMinCut), fJetRatioMaxCut(jetlc.fJetRatioMaxCut),
- fJetRatioMinCut(jetlc.fJetRatioMinCut), fJetNCone(jetlc.fJetNCone),
- fJetNPt(jetlc.fJetNPt), fJetCone(jetlc.fJetCone),
- fJetPtThreshold(jetlc.fJetPtThreshold),fJetPtThresPbPb(jetlc.fJetPtThresPbPb),
- fPtTriggerSelectionCut(jetlc.fPtTriggerSelectionCut), fSelect(jetlc.fSelect),
- fSelectIsolated(jetlc.fSelectIsolated),
- //Histograms
- fOutCont(jetlc. fOutCont),
- //Leading
- fhChargedLeadingPt(jetlc.fhChargedLeadingPt), fhChargedLeadingPhi(jetlc.fhChargedLeadingPhi),
- fhChargedLeadingEta(jetlc.fhChargedLeadingEta), fhChargedLeadingDeltaPt(jetlc.fhChargedLeadingDeltaPt),
- fhChargedLeadingDeltaPhi(jetlc.fhChargedLeadingDeltaPhi),fhChargedLeadingDeltaEta(jetlc.fhChargedLeadingDeltaEta),
- fhChargedLeadingRatioPt(jetlc.fhChargedLeadingRatioPt),
- fhNeutralLeadingPt(jetlc.fhNeutralLeadingPt),fhNeutralLeadingPhi(jetlc.fhNeutralLeadingPhi),
- fhNeutralLeadingEta(jetlc.fhNeutralLeadingEta), fhNeutralLeadingDeltaPt(jetlc.fhNeutralLeadingDeltaPt),
- fhNeutralLeadingDeltaPhi(jetlc.fhNeutralLeadingDeltaPhi),fhNeutralLeadingDeltaEta(jetlc.fhNeutralLeadingDeltaEta),
- fhNeutralLeadingRatioPt(jetlc.fhNeutralLeadingRatioPt),
- fhChargedLeadingXi(jetlc.fhChargedLeadingXi), fhNeutralLeadingXi(jetlc.fhNeutralLeadingXi),
- fhChargedLeadingDeltaPhiRatioPt30(jetlc.fhChargedLeadingDeltaPhiRatioPt30), fhNeutralLeadingDeltaPhiRatioPt30(jetlc.fhNeutralLeadingDeltaPhiRatioPt30),
- fhChargedLeadingDeltaPhiRatioPt50(jetlc.fhChargedLeadingDeltaPhiRatioPt50), fhNeutralLeadingDeltaPhiRatioPt50(jetlc.fhNeutralLeadingDeltaPhiRatioPt50),
- //Jet
- fhJetPt(jetlc.fhJetPt),fhJetRatioPt(jetlc.fhJetRatioPt),fhJetDeltaPhi(jetlc.fhJetDeltaPhi),
- fhJetDeltaEta(jetlc.fhJetDeltaEta), fhJetLeadingRatioPt(jetlc.fhJetLeadingRatioPt),
- fhJetLeadingDeltaPhi(jetlc.fhJetLeadingDeltaPhi),fhJetLeadingDeltaEta(jetlc.fhJetLeadingDeltaEta),
- fhJetFFz(jetlc.fhJetFFz),fhJetFFxi(jetlc.fhJetFFxi),fhJetFFpt(jetlc.fhJetFFpt),
- fhJetNTracksInCone(jetlc.fhJetNTracksInCone),
- fhBkgPt(jetlc.fhBkgPt),fhBkgRatioPt(jetlc.fhBkgRatioPt),fhBkgDeltaPhi(jetlc.fhBkgDeltaPhi),
- fhBkgDeltaEta(jetlc.fhBkgDeltaEta), fhBkgLeadingRatioPt(jetlc.fhBkgLeadingRatioPt),
- fhBkgLeadingDeltaPhi(jetlc.fhBkgLeadingDeltaPhi),fhBkgLeadingDeltaEta(jetlc.fhBkgLeadingDeltaEta),
- fhBkgFFz(jetlc.fhBkgFFz),fhBkgFFxi(jetlc.fhBkgFFxi),fhBkgFFpt(jetlc.fhBkgFFpt),
- fhBkgNTracksInCone(jetlc.fhBkgNTracksInCone),
- //Several cones and thres histograms
- fhJetPts(),fhJetRatioPts(),fhJetDeltaPhis(), fhJetDeltaEtas(),
- fhJetLeadingRatioPts(),fhJetLeadingDeltaPhis(),fhJetLeadingDeltaEtas(),
- fhJetFFzs(),fhJetFFxis(),fhJetFFpts(),fhJetNTracksInCones(),
- fhBkgPts(),fhBkgRatioPts(),fhBkgDeltaPhis(), fhBkgDeltaEtas(),
- fhBkgLeadingRatioPts(),fhBkgLeadingDeltaPhis(),fhBkgLeadingDeltaEtas(),
- fhBkgFFzs(),fhBkgFFxis(),fhBkgFFpts(),fhBkgNTracksInCones()
-{
- // cpy ctor
-
- for(Int_t i = 0; i<6; i++){
- fJetXMin1[i] = jetlc.fJetXMin1[i] ;
- fJetXMin2[i] = jetlc.fJetXMin2[i] ;
- fJetXMax1[i] = jetlc.fJetXMax1[i] ;
- fJetXMax2[i] = jetlc.fJetXMax2[i] ;
- fBkgMean[i] = jetlc.fBkgMean[i] ;
- fBkgRMS[i] = jetlc.fBkgRMS[i] ;
- if( i < 2 ){
- fJetE1[i] = jetlc.fJetE1[i] ;
- fJetE2[i] = jetlc.fJetE2[i] ;
- fJetSigma1[i] = jetlc.fJetSigma1[i] ;
- fJetSigma2[i] = jetlc.fJetSigma2[i] ;
- }
- }
- //Several cones and thres histograms
- for(Int_t i = 0; i<5; i++){
- fJetCones[i] = jetlc.fJetCones[i] ;
- fJetNameCones[i] = jetlc.fJetNameCones[i] ;
- fJetPtThres[i] = jetlc.fJetPtThres[i] ;
- fJetNamePtThres[i] = jetlc.fJetNamePtThres[i] ;
- for(Int_t j = 0; j<5; j++){
- fhJetPts[i][j] = jetlc.fhJetPts[i][j] ;
- fhJetRatioPts[i][j] = jetlc.fhJetRatioPts[i][j] ;
- fhJetDeltaPhis[i][j] = jetlc.fhJetDeltaPhis[i][j] ;
- fhJetDeltaEtas[i][j] = jetlc.fhJetDeltaEtas[i][j] ;
- fhJetLeadingRatioPts[i][j] = jetlc.fhJetLeadingRatioPts[i][j] ;
- fhJetLeadingDeltaPhis[i][j] = jetlc.fhJetLeadingDeltaPhis[i][j] ;
- fhJetLeadingDeltaEtas[i][j] = jetlc.fhJetLeadingDeltaEtas[i][j] ;
- fhJetFFzs[i][j] = jetlc.fhJetFFzs[i][j] ;
- fhJetFFxis[i][j] = jetlc.fhJetFFxis[i][j] ;
- fhJetFFpts[i][j] = jetlc.fhJetFFpts[i][j] ;
- fhJetNTracksInCones[i][j] = fhJetNTracksInCones[i][j] ;
- fhBkgPts[i][j] = jetlc.fhBkgPts[i][j] ;
- fhBkgRatioPts[i][j] = jetlc.fhBkgRatioPts[i][j] ;
- fhBkgDeltaPhis[i][j] = jetlc.fhBkgDeltaPhis[i][j] ;
- fhBkgDeltaEtas[i][j] = jetlc.fhBkgDeltaEtas[i][j] ;
- fhBkgLeadingRatioPts[i][j] = jetlc.fhBkgLeadingRatioPts[i][j] ;
- fhBkgLeadingDeltaPhis[i][j] = jetlc.fhBkgLeadingDeltaPhis[i][j] ;
- fhBkgLeadingDeltaEtas[i][j] = jetlc.fhBkgLeadingDeltaEtas[i][j] ;
- fhBkgFFzs[i][j] = jetlc.fhBkgFFzs[i][j] ;
- fhBkgFFxis[i][j] = jetlc.fhBkgFFxis[i][j] ;
- fhBkgFFpts[i][j] = jetlc.fhBkgFFpts[i][j] ;
- fhBkgNTracksInCones[i][j] = jetlc.fhBkgNTracksInCones[i][j] ;
- }
- }
-}
-
-//_________________________________________________________________________
-AliAnaParticleJetLeadingConeCorrelation & AliAnaParticleJetLeadingConeCorrelation::operator = (const AliAnaParticleJetLeadingConeCorrelation & jetlc)
-{
- // assignment operator
-
- if(this == &jetlc)return *this;
- ((AliAnaCaloTrackCorrBaseClass *)this)->operator=(jetlc);
+ InitParameters();
- fSeveralConeAndPtCuts = jetlc.fSeveralConeAndPtCuts ;
- fPbPb = jetlc.fPbPb ;
- fReMakeJet = jetlc.fReMakeJet ;
- fJetsOnlyInCTS = jetlc.fJetsOnlyInCTS;
-
- fDeltaPhiMaxCut = jetlc.fDeltaPhiMaxCut ;
- fDeltaPhiMinCut = jetlc.fDeltaPhiMinCut ;
- fLeadingRatioMaxCut = jetlc.fLeadingRatioMaxCut ;
- fLeadingRatioMinCut = jetlc.fLeadingRatioMinCut ;
-
- fJetCTSRatioMaxCut = jetlc.fJetCTSRatioMaxCut ;
- fJetCTSRatioMinCut = jetlc.fJetCTSRatioMinCut ;
- fJetRatioMaxCut = jetlc.fJetRatioMaxCut ;
- fJetRatioMinCut = jetlc.fJetRatioMinCut ;
-
- fJetNCone = jetlc.fJetNCone ;
- fJetNPt = jetlc.fJetNPt ; fJetCone = jetlc.fJetCone ;
- fJetPtThreshold = jetlc.fJetPtThreshold ;
- fJetPtThresPbPb = jetlc.fJetPtThresPbPb ;
- fPtTriggerSelectionCut = jetlc.fPtTriggerSelectionCut ;
- fSelect = jetlc.fSelect ;
- fSelectIsolated = jetlc.fSelectIsolated ;
-
- for(Int_t i = 0; i<6; i++){
- fJetXMin1[i] = jetlc.fJetXMin1[i] ;
- fJetXMin2[i] = jetlc.fJetXMin2[i] ;
- fJetXMax1[i] = jetlc.fJetXMax1[i] ;
- fJetXMax2[i] = jetlc.fJetXMax2[i] ;
- fBkgMean[i] = jetlc.fBkgMean[i] ;
- fBkgRMS[i] = jetlc.fBkgRMS[i] ;
- if( i < 2 ){
- fJetE1[i] = jetlc.fJetE1[i] ;
- fJetE2[i] = jetlc.fJetE2[i] ;
- fJetSigma1[i] = jetlc.fJetSigma1[i] ;
- fJetSigma2[i] = jetlc.fJetSigma2[i] ;
- }
- }
-
- //Histograms
- fOutCont = jetlc. fOutCont ;
- fhChargedLeadingPt = jetlc.fhChargedLeadingPt; fhChargedLeadingPhi = jetlc.fhChargedLeadingPhi;
- fhChargedLeadingEta = jetlc.fhChargedLeadingEta; fhChargedLeadingDeltaPt = jetlc.fhChargedLeadingDeltaPt;
- fhChargedLeadingDeltaPhi = jetlc.fhChargedLeadingDeltaPhi;fhChargedLeadingDeltaEta = jetlc.fhChargedLeadingDeltaEta;
- fhChargedLeadingRatioPt = jetlc.fhChargedLeadingRatioPt;
- fhNeutralLeadingPt = jetlc.fhNeutralLeadingPt;fhNeutralLeadingPhi = jetlc.fhNeutralLeadingPhi;
- fhNeutralLeadingEta = jetlc.fhNeutralLeadingEta; fhNeutralLeadingDeltaPt = jetlc.fhNeutralLeadingDeltaPt;
- fhNeutralLeadingDeltaPhi = jetlc.fhNeutralLeadingDeltaPhi;fhNeutralLeadingDeltaEta = jetlc.fhNeutralLeadingDeltaEta;
- fhNeutralLeadingRatioPt = jetlc.fhNeutralLeadingRatioPt;
- fhChargedLeadingXi = jetlc.fhChargedLeadingXi;
- fhNeutralLeadingXi = jetlc.fhNeutralLeadingXi;
-
- fhChargedLeadingDeltaPhiRatioPt30 = jetlc.fhChargedLeadingDeltaPhiRatioPt30;
- fhNeutralLeadingDeltaPhiRatioPt30 = jetlc.fhNeutralLeadingDeltaPhiRatioPt30;
- fhChargedLeadingDeltaPhiRatioPt50 = jetlc.fhChargedLeadingDeltaPhiRatioPt50;
- fhNeutralLeadingDeltaPhiRatioPt50 = jetlc.fhNeutralLeadingDeltaPhiRatioPt50;
-
- fhJetPt = jetlc.fhJetPt;fhJetRatioPt = jetlc.fhJetRatioPt;fhJetDeltaPhi = jetlc.fhJetDeltaPhi;
- fhJetDeltaEta = jetlc.fhJetDeltaEta; fhJetLeadingRatioPt = jetlc.fhJetLeadingRatioPt;
- fhJetLeadingDeltaPhi = jetlc.fhJetLeadingDeltaPhi;fhJetLeadingDeltaEta = jetlc.fhJetLeadingDeltaEta;
- fhJetFFz = jetlc.fhJetFFz;fhJetFFxi = jetlc.fhJetFFxi;fhJetFFpt = jetlc.fhJetFFpt;
- fhJetNTracksInCone = jetlc.fhJetNTracksInCone;
- fhBkgPt = jetlc.fhBkgPt;fhBkgRatioPt = jetlc.fhBkgRatioPt;fhBkgDeltaPhi = jetlc.fhBkgDeltaPhi;
- fhBkgDeltaEta = jetlc.fhBkgDeltaEta; fhBkgLeadingRatioPt = jetlc.fhBkgLeadingRatioPt;
- fhBkgLeadingDeltaPhi = jetlc.fhBkgLeadingDeltaPhi;fhBkgLeadingDeltaEta = jetlc.fhBkgLeadingDeltaEta;
- fhBkgFFz = jetlc.fhBkgFFz;fhBkgFFxi = jetlc.fhBkgFFxi;fhBkgFFpt = jetlc.fhBkgFFpt;
- fhBkgNTracksInCone = jetlc.fhBkgNTracksInCone;
-
-
- //Several cones and thres histograms
- for(Int_t i = 0; i<5; i++){
- fJetCones[i] = jetlc.fJetCones[i] ;
- fJetNameCones[i] = jetlc.fJetNameCones[i] ;
- fJetPtThres[i] = jetlc.fJetPtThres[i] ;
- fJetNamePtThres[i] = jetlc.fJetNamePtThres[i] ;
-
- for(Int_t j = 0; j<5; j++){
- fhJetPts[i][j] = jetlc.fhJetPts[i][j] ;
- fhJetRatioPts[i][j] = jetlc.fhJetRatioPts[i][j] ;
- fhJetDeltaPhis[i][j] = jetlc.fhJetDeltaPhis[i][j] ;
- fhJetDeltaEtas[i][j] = jetlc.fhJetDeltaEtas[i][j] ;
- fhJetLeadingRatioPts[i][j] = jetlc.fhJetLeadingRatioPts[i][j] ;
- fhJetLeadingDeltaPhis[i][j] = jetlc.fhJetLeadingDeltaPhis[i][j] ;
- fhJetLeadingDeltaEtas[i][j] = jetlc.fhJetLeadingDeltaEtas[i][j] ;
- fhJetFFzs[i][j] = jetlc.fhJetFFzs[i][j] ;
- fhJetFFxis[i][j] = jetlc.fhJetFFxis[i][j] ;
- fhJetFFpts[i][j] = jetlc.fhJetFFpts[i][j] ;
- fhJetNTracksInCones[i][j] = fhJetNTracksInCones[i][j] ;
- fhBkgPts[i][j] = jetlc.fhBkgPts[i][j] ;
- fhBkgRatioPts[i][j] = jetlc.fhBkgRatioPts[i][j] ;
- fhBkgDeltaPhis[i][j] = jetlc.fhBkgDeltaPhis[i][j] ;
- fhBkgDeltaEtas[i][j] = jetlc.fhBkgDeltaEtas[i][j] ;
- fhBkgLeadingRatioPts[i][j] = jetlc.fhBkgLeadingRatioPts[i][j] ;
- fhBkgLeadingDeltaPhis[i][j] = jetlc.fhBkgLeadingDeltaPhis[i][j] ;
- fhBkgLeadingDeltaEtas[i][j] = jetlc.fhBkgLeadingDeltaEtas[i][j] ;
- fhBkgFFzs[i][j] = jetlc.fhBkgFFzs[i][j] ;
- fhBkgFFxis[i][j] = jetlc.fhBkgFFxis[i][j] ;
- fhBkgFFpts[i][j] = jetlc.fhBkgFFpts[i][j] ;
- fhBkgNTracksInCones[i][j] = jetlc.fhBkgNTracksInCones[i][j] ;
- }
- }
-
- return *this;
-
-}
-*/
-//____________________________________________________________________________
-AliAnaParticleJetLeadingConeCorrelation::~AliAnaParticleJetLeadingConeCorrelation()
-{
- // Remove all pointers except analysis output pointers.
}
//____________________________________________________________________________
-Double_t AliAnaParticleJetLeadingConeCorrelation::CalculateJetRatioLimit(const Double_t ptg, const Double_t *par, const Double_t *x) const {
+Double_t AliAnaParticleJetLeadingConeCorrelation::CalculateJetRatioLimit(Double_t ptg, const Double_t *par, const Double_t *x) const {
//Calculate the ratio of the jet and trigger particle limit for the selection
//WARNING: need to check what it does
//printf("CalculateLimit: x1 %2.3f, x2%2.3f\n",x[0],x[1]);
const TLorentzVector jet,
const TString & type, const TString & lastname)
{
- //Fill jet and background histograms
+ //Fill jet and background histograms
Double_t ptTrig = particle->Pt();
Double_t ptJet = jet.Pt();
Double_t ptLead = fLeadingMom.Pt();
{
AliVTrack* track = dynamic_cast<AliVTrack *>(pl->At(ipr)) ;
if(track)fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
- else printf("AliAnaParticleJetLeadingConeCorrelation::FillJetHistos() - Track not available\n");
+ else AliDebug(1,"Track not available");
//Recheck if particle is in jet cone
if(fReMakeJet || fSeveralConeAndPtCuts)
if(!IsParticleInJetCone(fTrackVector.Eta(), fTrackVector.Phi(), fLeadingMom.Eta(), fLeadingMom.Phi()) ) continue ;
- nTracksInCone++;
+ nTracksInCone++;
TH2F *ha =dynamic_cast<TH2F*>(GetOutputContainer()->FindObject(Form("%s%sFFz%s",GetAddedHistogramsStringToName().Data(),type.Data(),lastname.Data())));
if(ha) ha->Fill(ptTrig,fTrackVector.Pt()/ptTrig);
//________________________________________________________________________
TList * AliAnaParticleJetLeadingConeCorrelation::GetCreateOutputObjects()
-{
- // Create histograms to be saved in output file and
+{
+ // Create histograms to be saved in output file and
// store them in fOutCont
- if(GetDebug()>1) printf("AliAnaParticleJetLeadingConeCorrelation::GetCreateOutputObjects() - Init histograms \n");
-
- fOutCont = new TList() ;
- fOutCont->SetName("ParticleJetLeadingInConeCorrelationHistograms") ;
+ fOutCont = new TList() ;
+ fOutCont->SetName("ParticleJetLeadingInConeCorrelationHistograms") ;
Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins();
Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
- Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+ Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
- fhChargedLeadingPt = new TH2F("ChargedLeadingPt","p_{T leading charge} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhChargedLeadingPt = new TH2F("ChargedLeadingPt","p_{T leading charge} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhChargedLeadingPt->SetYTitle("p_{T leading charge}");
fhChargedLeadingPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingPhi = new TH2F("ChargedLeadingPhi","#phi_{h^{#pm}} vs p_{T trigger}", nptbins,ptmin,ptmax,nphibins,phimin,phimax);
+ fhChargedLeadingPhi = new TH2F("ChargedLeadingPhi","#phi_{h^{#pm}} vs p_{T trigger}", nptbins,ptmin,ptmax,nphibins,phimin,phimax);
fhChargedLeadingPhi->SetYTitle("#phi_{h^{#pm}} (rad)");
fhChargedLeadingPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingEta = new TH2F("ChargedLeadingEta","#eta_{h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ fhChargedLeadingEta = new TH2F("ChargedLeadingEta","#eta_{h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
fhChargedLeadingEta->SetYTitle("#eta_{h^{#pm}} ");
fhChargedLeadingEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingDeltaPt = new TH2F("ChargedLeadingDeltaPt","p_{T trigger} - p_{T h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhChargedLeadingDeltaPt = new TH2F("ChargedLeadingDeltaPt","p_{T trigger} - p_{T h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhChargedLeadingDeltaPt->SetYTitle("#Delta p_{T} (GeV/c)");
fhChargedLeadingDeltaPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingDeltaPhi = new TH2F("ChargedLeadingDeltaPhi","#phi_{trigger} - #phi_{h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhChargedLeadingDeltaPhi = new TH2F("ChargedLeadingDeltaPhi","#phi_{trigger} - #phi_{h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
fhChargedLeadingDeltaPhi->SetYTitle("#Delta #phi (rad)");
fhChargedLeadingDeltaPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingDeltaEta = new TH2F("ChargedLeadingDeltaEta","#eta_{trigger} - #eta_{h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
+ fhChargedLeadingDeltaEta = new TH2F("ChargedLeadingDeltaEta","#eta_{trigger} - #eta_{h^{#pm}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
fhChargedLeadingDeltaEta->SetYTitle("#Delta #eta");
fhChargedLeadingDeltaEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingRatioPt = new TH2F("ChargedLeadingRatioPt","p_{T leading charge} /p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
+ fhChargedLeadingRatioPt = new TH2F("ChargedLeadingRatioPt","p_{T leading charge} /p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
fhChargedLeadingRatioPt->SetYTitle("p_{T lead charge} /p_{T trigger}");
fhChargedLeadingRatioPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhChargedLeadingXi = new TH2F("ChargedLeadingXi","ln(p_{T trigger} / p_{T leading charge} ) vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,10);
+ fhChargedLeadingXi = new TH2F("ChargedLeadingXi","ln(p_{T trigger} / p_{T leading charge} ) vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,10);
fhChargedLeadingXi->SetYTitle("#xi");
fhChargedLeadingXi->SetXTitle("p_{T trigger} (GeV/c)");
-
+
fOutCont->Add(fhChargedLeadingPt) ;
fOutCont->Add(fhChargedLeadingPhi) ;
fOutCont->Add(fhChargedLeadingEta) ;
- fOutCont->Add(fhChargedLeadingDeltaPt) ;
- fOutCont->Add(fhChargedLeadingDeltaPhi) ;
- fOutCont->Add(fhChargedLeadingDeltaEta) ;
+ fOutCont->Add(fhChargedLeadingDeltaPt) ;
+ fOutCont->Add(fhChargedLeadingDeltaPhi) ;
+ fOutCont->Add(fhChargedLeadingDeltaEta) ;
fOutCont->Add(fhChargedLeadingRatioPt) ;
fOutCont->Add(fhChargedLeadingXi) ;
-
- fhChargedLeadingDeltaPhiRatioPt30 = new TH2F("ChargedLeadingDeltaPhiRatioPt30","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, charged leading, p_{T trigger} > 30 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
+
+ fhChargedLeadingDeltaPhiRatioPt30 = new TH2F("ChargedLeadingDeltaPhiRatioPt30","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, charged leading, p_{T trigger} > 30 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
fhChargedLeadingDeltaPhiRatioPt30->SetXTitle("#Delta #phi (rad)");
- fhChargedLeadingDeltaPhiRatioPt30->SetYTitle("p_{T leading} / p_{T trigger}");
-
- fhChargedLeadingDeltaPhiRatioPt50 = new TH2F("ChargedLeadingDeltaPhiRatioPt50","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, charged leading, p_{T trigger} > 50 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
+ fhChargedLeadingDeltaPhiRatioPt30->SetYTitle("p_{T leading} / p_{T trigger}");
+
+ fhChargedLeadingDeltaPhiRatioPt50 = new TH2F("ChargedLeadingDeltaPhiRatioPt50","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, charged leading, p_{T trigger} > 50 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
fhChargedLeadingDeltaPhiRatioPt50->SetXTitle("#Delta #phi (rad)");
- fhChargedLeadingDeltaPhiRatioPt50->SetYTitle("p_{T leading} / p_{T trigger}");
-
- fOutCont->Add(fhChargedLeadingDeltaPhiRatioPt30) ;
- fOutCont->Add(fhChargedLeadingDeltaPhiRatioPt50) ;
-
+ fhChargedLeadingDeltaPhiRatioPt50->SetYTitle("p_{T leading} / p_{T trigger}");
+
+ fOutCont->Add(fhChargedLeadingDeltaPhiRatioPt30) ;
+ fOutCont->Add(fhChargedLeadingDeltaPhiRatioPt50) ;
+
if(!fJetsOnlyInCTS){
- fhNeutralLeadingPt = new TH2F("NeutralLeadingPt","p_{T leading #pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhNeutralLeadingPt = new TH2F("NeutralLeadingPt","p_{T leading #pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhNeutralLeadingPt->SetYTitle("p_{T leading #pi^{0}}");
fhNeutralLeadingPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingPhi = new TH2F("NeutralLeadingPhi","#phi_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
+ fhNeutralLeadingPhi = new TH2F("NeutralLeadingPhi","#phi_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
fhNeutralLeadingPhi->SetYTitle("#phi_{#pi^{0}} (rad)");
fhNeutralLeadingPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingEta = new TH2F("NeutralLeadingEta","#eta_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ fhNeutralLeadingEta = new TH2F("NeutralLeadingEta","#eta_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
fhNeutralLeadingEta->SetYTitle("#eta_{#pi^{0}} ");
fhNeutralLeadingEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingDeltaPt = new TH2F("NeutralLeadingDeltaPt","p_{T trigger} - p_{T #pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhNeutralLeadingDeltaPt = new TH2F("NeutralLeadingDeltaPt","p_{T trigger} - p_{T #pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhNeutralLeadingDeltaPt->SetYTitle("#Delta p_{T} (GeV/c)");
fhNeutralLeadingDeltaPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingDeltaPhi = new TH2F("NeutralLeadingDeltaPhi","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhNeutralLeadingDeltaPhi = new TH2F("NeutralLeadingDeltaPhi","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
fhNeutralLeadingDeltaPhi->SetYTitle("#Delta #phi (rad)");
fhNeutralLeadingDeltaPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingDeltaEta = new TH2F("NeutralLeadingDeltaEta","#eta_{trigger} - #eta_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
+ fhNeutralLeadingDeltaEta = new TH2F("NeutralLeadingDeltaEta","#eta_{trigger} - #eta_{#pi^{0}} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
fhNeutralLeadingDeltaEta->SetYTitle("#Delta #eta");
fhNeutralLeadingDeltaEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingRatioPt = new TH2F("NeutralLeadingRatioPt","p_{T leading #pi^{0}} /p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
+ fhNeutralLeadingRatioPt = new TH2F("NeutralLeadingRatioPt","p_{T leading #pi^{0}} /p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
fhNeutralLeadingRatioPt->SetYTitle("p_{T lead #pi^{0}} /p_{T trigger}");
fhNeutralLeadingRatioPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhNeutralLeadingXi = new TH2F("NeutralLeadingXi","ln(p_{T trigger} / p_{T leading #pi^{0}} ) vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,10);
+ fhNeutralLeadingXi = new TH2F("NeutralLeadingXi","ln(p_{T trigger} / p_{T leading #pi^{0}} ) vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,10);
fhNeutralLeadingXi->SetYTitle("#xi");
fhNeutralLeadingXi->SetXTitle("p_{T trigger} (GeV/c)");
fOutCont->Add(fhNeutralLeadingPt) ;
fOutCont->Add(fhNeutralLeadingPhi) ;
fOutCont->Add(fhNeutralLeadingEta) ;
- fOutCont->Add(fhNeutralLeadingDeltaPt) ;
- fOutCont->Add(fhNeutralLeadingDeltaPhi) ;
- fOutCont->Add(fhNeutralLeadingDeltaEta) ;
+ fOutCont->Add(fhNeutralLeadingDeltaPt) ;
+ fOutCont->Add(fhNeutralLeadingDeltaPhi) ;
+ fOutCont->Add(fhNeutralLeadingDeltaEta) ;
fOutCont->Add(fhNeutralLeadingRatioPt) ;
fOutCont->Add(fhNeutralLeadingXi) ;
-
- fhNeutralLeadingDeltaPhiRatioPt30 = new TH2F("NeutralLeadingDeltaPhiRatioPt30","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, neutral leading, p_{T trigger} > 30 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
- fhNeutralLeadingDeltaPhiRatioPt30->SetXTitle("#Delta #phi (rad)");
- fhNeutralLeadingDeltaPhiRatioPt30->SetYTitle("p_{T leading} / p_{T trigger}");
-
- fhNeutralLeadingDeltaPhiRatioPt50 = new TH2F("NeutralLeadingDeltaPhiRatioPt50","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, neutral leading, p_{T trigger} > 50 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
- fhNeutralLeadingDeltaPhiRatioPt50->SetXTitle("#Delta #phi (rad)");
- fhNeutralLeadingDeltaPhiRatioPt50->SetYTitle("p_{T leading} / p_{T trigger}");
- fOutCont->Add(fhNeutralLeadingDeltaPhiRatioPt30) ;
- fOutCont->Add(fhNeutralLeadingDeltaPhiRatioPt50) ;
-
+
+ fhNeutralLeadingDeltaPhiRatioPt30 = new TH2F("NeutralLeadingDeltaPhiRatioPt30","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, neutral leading, p_{T trigger} > 30 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
+ fhNeutralLeadingDeltaPhiRatioPt30->SetXTitle("#Delta #phi (rad)");
+ fhNeutralLeadingDeltaPhiRatioPt30->SetYTitle("p_{T leading} / p_{T trigger}");
+
+ fhNeutralLeadingDeltaPhiRatioPt50 = new TH2F("NeutralLeadingDeltaPhiRatioPt50","#phi_{trigger} - #phi_{#pi^{0}} vs p_{T leading}/p_{T trigger}, neutral leading, p_{T trigger} > 50 GeV/c",120,0,TMath::TwoPi(),nptbins,0,1);
+ fhNeutralLeadingDeltaPhiRatioPt50->SetXTitle("#Delta #phi (rad)");
+ fhNeutralLeadingDeltaPhiRatioPt50->SetYTitle("p_{T leading} / p_{T trigger}");
+ fOutCont->Add(fhNeutralLeadingDeltaPhiRatioPt30) ;
+ fOutCont->Add(fhNeutralLeadingDeltaPhiRatioPt50) ;
+
}
if(!fSeveralConeAndPtCuts){// not several cones
//Jet Distributions
- fhJetPt = new TH2F("JetPt","p_{T jet} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhJetPt = new TH2F("JetPt","p_{T jet} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhJetPt->SetYTitle("p_{T jet}");
fhJetPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetRatioPt = new TH2F("JetRatioPt","p_{T jet}/p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
+ fhJetRatioPt = new TH2F("JetRatioPt","p_{T jet}/p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
fhJetRatioPt->SetYTitle("p_{T jet}/p_{T trigger}");
fhJetRatioPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetDeltaPhi = new TH2F("JetDeltaPhi","#phi_{jet} - #phi_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhJetDeltaPhi = new TH2F("JetDeltaPhi","#phi_{jet} - #phi_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
fhJetDeltaPhi->SetYTitle("#Delta #phi (rad)");
fhJetDeltaPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetDeltaEta = new TH2F("JetDeltaEta","#eta_{jet} - #eta_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
+ fhJetDeltaEta = new TH2F("JetDeltaEta","#eta_{jet} - #eta_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
fhJetDeltaEta->SetYTitle("#Delta #eta");
fhJetDeltaEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetLeadingRatioPt = new TH2F("JetLeadingRatioPt","p_{T jet} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
+ fhJetLeadingRatioPt = new TH2F("JetLeadingRatioPt","p_{T jet} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
fhJetLeadingRatioPt->SetYTitle("p_{T leading}/p_{T jet}");
fhJetLeadingRatioPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetLeadingDeltaPhi = new TH2F("JetLeadingDeltaPhi","#phi_{jet} - #phi_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-TMath::Pi(),TMath::Pi());
+ fhJetLeadingDeltaPhi = new TH2F("JetLeadingDeltaPhi","#phi_{jet} - #phi_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-TMath::Pi(),TMath::Pi());
fhJetLeadingDeltaPhi->SetYTitle("#Delta #phi (rad)");
fhJetLeadingDeltaPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetLeadingDeltaEta = new TH2F("JetLeadingDeltaEta","#eta_{jet} - #eta_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
+ fhJetLeadingDeltaEta = new TH2F("JetLeadingDeltaEta","#eta_{jet} - #eta_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
fhJetLeadingDeltaEta->SetYTitle("#Delta #eta");
fhJetLeadingDeltaEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhJetFFz = new TH2F("JetFFz","z = p_{T i charged}/p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,200,0.,2);
+ fhJetFFz = new TH2F("JetFFz","z = p_{T i charged}/p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,200,0.,2);
fhJetFFz->SetYTitle("z");
fhJetFFz->SetXTitle("p_{T trigger}");
- fhJetFFxi = new TH2F("JetFFxi","#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}",nptbins,ptmin,ptmax,100,0.,10.);
+ fhJetFFxi = new TH2F("JetFFxi","#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}",nptbins,ptmin,ptmax,100,0.,10.);
fhJetFFxi->SetYTitle("#xi");
fhJetFFxi->SetXTitle("p_{T trigger}");
- fhJetFFpt = new TH2F("JetFFpt","#xi = p_{T i charged}) vs p_{T trigger}",nptbins,ptmin,ptmax,200,0.,50.);
+ fhJetFFpt = new TH2F("JetFFpt","#xi = p_{T i charged}) vs p_{T trigger}",nptbins,ptmin,ptmax,200,0.,50.);
fhJetFFpt->SetYTitle("p_{T charged hadron}");
fhJetFFpt->SetXTitle("p_{T trigger}");
- fhJetNTracksInCone = new TH2F("JetNTracksInCone","N particles in cone vs p_{T trigger}",nptbins,ptmin,ptmax,5000,0, 5000);
+ fhJetNTracksInCone = new TH2F("JetNTracksInCone","N particles in cone vs p_{T trigger}",nptbins,ptmin,ptmax,5000,0, 5000);
fhJetNTracksInCone->SetYTitle("N tracks in jet cone");
fhJetNTracksInCone->SetXTitle("p_{T trigger} (GeV/c)");
- fOutCont->Add(fhJetPt) ;
- fOutCont->Add(fhJetRatioPt) ;
+ fOutCont->Add(fhJetPt) ;
+ fOutCont->Add(fhJetRatioPt) ;
fOutCont->Add(fhJetDeltaPhi) ;
fOutCont->Add(fhJetDeltaEta) ;
fOutCont->Add(fhJetLeadingRatioPt) ;
fOutCont->Add(fhJetNTracksInCone) ;
//Bkg Distributions
- fhBkgPt = new TH2F("BkgPt","p_{T bkg} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhBkgPt = new TH2F("BkgPt","p_{T bkg} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhBkgPt->SetYTitle("p_{T bkg}");
fhBkgPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgRatioPt = new TH2F("BkgRatioPt","p_{T bkg}/p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
+ fhBkgRatioPt = new TH2F("BkgRatioPt","p_{T bkg}/p_{T trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
fhBkgRatioPt->SetYTitle("p_{T bkg}/p_{T trigger}");
fhBkgRatioPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgDeltaPhi = new TH2F("BkgDeltaPhi","#phi_{bkg} - #phi_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhBkgDeltaPhi = new TH2F("BkgDeltaPhi","#phi_{bkg} - #phi_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
fhBkgDeltaPhi->SetYTitle("#Delta #phi (rad)");
fhBkgDeltaPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgDeltaEta = new TH2F("BkgDeltaEta","#eta_{bkg} - #eta_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
+ fhBkgDeltaEta = new TH2F("BkgDeltaEta","#eta_{bkg} - #eta_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
fhBkgDeltaEta->SetYTitle("#Delta #eta");
fhBkgDeltaEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgLeadingRatioPt = new TH2F("BkgLeadingRatioPt","p_{T bkg} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
+ fhBkgLeadingRatioPt = new TH2F("BkgLeadingRatioPt","p_{T bkg} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,2);
fhBkgLeadingRatioPt->SetYTitle("p_{T leading}/p_{T bkg}");
fhBkgLeadingRatioPt->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgLeadingDeltaPhi = new TH2F("BkgLeadingDeltaPhi","#phi_{bkg} - #phi_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhBkgLeadingDeltaPhi = new TH2F("BkgLeadingDeltaPhi","#phi_{bkg} - #phi_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
fhBkgLeadingDeltaPhi->SetYTitle("#Delta #phi (rad)");
fhBkgLeadingDeltaPhi->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgLeadingDeltaEta = new TH2F("BkgLeadingDeltaEta","#eta_{bkg} - #eta_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
+ fhBkgLeadingDeltaEta = new TH2F("BkgLeadingDeltaEta","#eta_{bkg} - #eta_{leading} vs p_{T trigger}",nptbins,ptmin,ptmax,120,-2,2);
fhBkgLeadingDeltaEta->SetYTitle("#Delta #eta");
fhBkgLeadingDeltaEta->SetXTitle("p_{T trigger} (GeV/c)");
- fhBkgFFz = new TH2F("BkgFFz","z = p_{T i charged}/p_{T trigger} vs p_{T trigger}", nptbins,ptmin,ptmax,200,0.,2);
+ fhBkgFFz = new TH2F("BkgFFz","z = p_{T i charged}/p_{T trigger} vs p_{T trigger}", nptbins,ptmin,ptmax,200,0.,2);
fhBkgFFz->SetYTitle("z");
fhBkgFFz->SetXTitle("p_{T trigger}");
- fhBkgFFxi = new TH2F("BkgFFxi","#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}", nptbins,ptmin,ptmax,100,0.,10.);
+ fhBkgFFxi = new TH2F("BkgFFxi","#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}", nptbins,ptmin,ptmax,100,0.,10.);
fhBkgFFxi->SetYTitle("#xi");
fhBkgFFxi->SetXTitle("p_{T trigger}");
- fhBkgFFpt = new TH2F("BkgFFpt","p_{T charged hadron } vs p_{T trigger}", nptbins,ptmin,ptmax,200,0.,50.);
+ fhBkgFFpt = new TH2F("BkgFFpt","p_{T charged hadron } vs p_{T trigger}", nptbins,ptmin,ptmax,200,0.,50.);
fhBkgFFpt->SetYTitle("p_{T charged} hadron");
fhBkgFFpt->SetXTitle("p_{T trigger}");
- fhBkgNTracksInCone = new TH2F("BkgNTracksInCone","N particles in cone vs p_{T trigger}",nptbins,ptmin,ptmax,5000,0, 5000);
+ fhBkgNTracksInCone = new TH2F("BkgNTracksInCone","N particles in cone vs p_{T trigger}",nptbins,ptmin,ptmax,5000,0, 5000);
fhBkgNTracksInCone->SetYTitle("N tracks in bkg cone");
fhBkgNTracksInCone->SetXTitle("p_{T trigger} (GeV/c)");
- fOutCont->Add(fhBkgPt) ;
- fOutCont->Add(fhBkgRatioPt) ;
+ fOutCont->Add(fhBkgPt) ;
+ fOutCont->Add(fhBkgRatioPt) ;
fOutCont->Add(fhBkgDeltaPhi) ;
fOutCont->Add(fhBkgDeltaEta) ;
fOutCont->Add(fhBkgLeadingRatioPt) ;
else{ //If we want to study the jet for different cones and pt
for(Int_t icone = 0; icone<fJetNCone; icone++){//icone
for(Int_t ipt = 0; ipt<fJetNPt;ipt++){ //ipt
-
- TString lastnamehist ="Cone"+ fJetNameCones[icone]+"Pt"+ fJetNamePtThres[ipt];
- TString lastnametitle =", cone ="+fJetNameCones[icone]+", pt > " +fJetNamePtThres[ipt]+" GeV/c";
-
- //Jet Distributions
- fhJetPts[icone][ipt] = new TH2F(Form("JetPt%s",lastnamehist.Data()),Form("p_{T jet} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
- fhJetPts[icone][ipt]->SetYTitle("p_{T jet}");
- fhJetPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetRatioPts[icone][ipt] = new TH2F(Form("JetRatioPt%s",lastnamehist.Data()),Form("p_{T jet}/p_{T trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
- fhJetRatioPts[icone][ipt]->SetYTitle("p_{T jet}/p_{T trigger}");
- fhJetRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetDeltaPhis[icone][ipt] = new TH2F(Form("JetDeltaPhi%s",lastnamehist.Data()),Form("#phi_{jet} - #phi_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
- fhJetDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
- fhJetDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetDeltaEtas[icone][ipt] = new TH2F(Form("JetDeltaEta%s",lastnamehist.Data()),Form("#eta_{jet} - #eta_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
- fhJetDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
- fhJetDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetLeadingRatioPts[icone][ipt] = new TH2F(Form("JetLeadingRatioPt%s",lastnamehist.Data()),Form("p_{T jet} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
- fhJetLeadingRatioPts[icone][ipt]->SetYTitle("p_{T leading}/p_{T jet}");
- fhJetLeadingRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetLeadingDeltaPhis[icone][ipt] = new TH2F(Form("JetLeadingDeltaPhi%s",lastnamehist.Data()),Form("#phi_{jet} - #phi_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
- fhJetLeadingDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
- fhJetLeadingDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetLeadingDeltaEtas[icone][ipt] = new TH2F(Form("JetLeadingDeltaEta%s",lastnamehist.Data()),Form("#eta_{jet} - #eta_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
- fhJetLeadingDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
- fhJetLeadingDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhJetFFzs[icone][ipt] = new TH2F(Form("JetFFz%s",lastnamehist.Data()),"z = p_{T i charged}/p_{T trigger} vs p_{T trigger}", 120,0.,120.,200,0.,2);
- fhJetFFzs[icone][ipt]->SetYTitle("z");
- fhJetFFzs[icone][ipt]->SetXTitle("p_{T trigger}");
-
- fhJetFFxis[icone][ipt] = new TH2F(Form("JetFFxi%s",lastnamehist.Data()),"#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}", 120,0.,120.,100,0.,10.);
- fhJetFFxis[icone][ipt]->SetYTitle("#xi");
- fhJetFFxis[icone][ipt]->SetXTitle("p_{T trigger}");
-
- fhJetFFpts[icone][ipt] = new TH2F(Form("JetFFpt%s",lastnamehist.Data()),"p_{T charged hadron } in jet vs p_{T trigger}", 120,0.,120.,200,0.,50.);
- fhJetFFpts[icone][ipt]->SetYTitle("p_{T charged hadron}");
- fhJetFFpts[icone][ipt]->SetXTitle("p_{T trigger}");
-
- fhJetNTracksInCones[icone][ipt] = new TH2F(Form("JetNTracksInCone%s",lastnamehist.Data()),Form("N particles in cone vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,5000,0, 5000);
- fhJetNTracksInCones[icone][ipt]->SetYTitle("N tracks in jet cone");
- fhJetNTracksInCones[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fOutCont->Add(fhJetPts[icone][ipt]) ;
- fOutCont->Add(fhJetRatioPts[icone][ipt]) ;
- fOutCont->Add(fhJetDeltaPhis[icone][ipt]) ;
- fOutCont->Add(fhJetDeltaEtas[icone][ipt]) ;
- fOutCont->Add(fhJetLeadingRatioPts[icone][ipt]) ;
- fOutCont->Add(fhJetLeadingDeltaPhis[icone][ipt]) ;
- fOutCont->Add(fhJetLeadingDeltaEtas[icone][ipt]) ;
- fOutCont->Add(fhJetFFzs[icone][ipt]) ;
- fOutCont->Add(fhJetFFxis[icone][ipt]) ;
- fOutCont->Add(fhJetFFpts[icone][ipt]) ;
- fOutCont->Add(fhJetNTracksInCones[icone][ipt]) ;
-
- //Bkg Distributions
- fhBkgPts[icone][ipt] = new TH2F(Form("BkgPt%s",lastnamehist.Data()),Form("p_{T bkg} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
- fhBkgPts[icone][ipt]->SetYTitle("p_{T bkg}");
- fhBkgPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgRatioPts[icone][ipt] = new TH2F(Form("BkgRatioPt%s",lastnamehist.Data()),Form("p_{T bkg}/p_{T trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
- fhBkgRatioPts[icone][ipt]->SetYTitle("p_{T bkg}/p_{T trigger}");
- fhBkgRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgDeltaPhis[icone][ipt] = new TH2F(Form("BkgDeltaPhi%s",lastnamehist.Data()),Form("#phi_{bkg} - #phi_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
- fhBkgDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
- fhBkgDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgDeltaEtas[icone][ipt] = new TH2F(Form("BkgDeltaEta%s",lastnamehist.Data()),Form("#eta_{bkg} - #eta_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
- fhBkgDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
- fhBkgDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgLeadingRatioPts[icone][ipt] = new TH2F(Form("BkgLeadingRatioPt%s",lastnamehist.Data()),Form("p_{T bkg} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
- fhBkgLeadingRatioPts[icone][ipt]->SetYTitle("p_{T leading}/p_{T bkg}");
- fhBkgLeadingRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgLeadingDeltaPhis[icone][ipt] = new TH2F(Form("BkgLeadingDeltaPhi%s",lastnamehist.Data()),Form("#phi_{bkg} - #phi_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
- fhBkgLeadingDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
- fhBkgLeadingDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgLeadingDeltaEtas[icone][ipt] = new TH2F(Form("BkgLeadingDeltaEta%s",lastnamehist.Data()),Form("#eta_{bkg} - #eta_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
- fhBkgLeadingDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
- fhBkgLeadingDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fhBkgFFzs[icone][ipt] = new TH2F(Form("BkgFFz%s",lastnamehist.Data()),"z = p_{T i charged}/p_{T trigger} vs p_{T trigger}", 120,0.,120.,200,0.,2);
- fhBkgFFzs[icone][ipt]->SetYTitle("z");
- fhBkgFFzs[icone][ipt]->SetXTitle("p_{T trigger}");
-
- fhBkgFFxis[icone][ipt] = new TH2F(Form("BkgFFxi%s",lastnamehist.Data()),"#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}", 120,0.,120.,100,0.,10.);
- fhBkgFFxis[icone][ipt]->SetYTitle("#xi");
- fhBkgFFxis[icone][ipt]->SetXTitle("p_{T trigger}");
-
- fhBkgFFpts[icone][ipt] = new TH2F(Form("BkgFFpt%s",lastnamehist.Data()),"p_{T charged hadron} in jet vs p_{T trigger}", 120,0.,120.,200,0.,50.);
- fhBkgFFpts[icone][ipt]->SetYTitle("p_{T charged hadron}");
- fhBkgFFpts[icone][ipt]->SetXTitle("p_{T trigger}");
-
- fhBkgNTracksInCones[icone][ipt] = new TH2F(Form("BkgNTracksInCone%s",lastnamehist.Data()),Form("N particles in cone vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,5000,0, 5000);
- fhBkgNTracksInCones[icone][ipt]->SetYTitle("N tracks in bkg cone");
- fhBkgNTracksInCones[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
-
- fOutCont->Add(fhBkgPts[icone][ipt]) ;
- fOutCont->Add(fhBkgRatioPts[icone][ipt]) ;
- fOutCont->Add(fhBkgDeltaPhis[icone][ipt]) ;
- fOutCont->Add(fhBkgDeltaEtas[icone][ipt]) ;
- fOutCont->Add(fhBkgLeadingRatioPts[icone][ipt]) ;
- fOutCont->Add(fhBkgLeadingDeltaPhis[icone][ipt]) ;
- fOutCont->Add(fhBkgLeadingDeltaEtas[icone][ipt]) ;
- fOutCont->Add(fhBkgFFzs[icone][ipt]) ;
- fOutCont->Add(fhBkgFFxis[icone][ipt]) ;
- fOutCont->Add(fhBkgFFpts[icone][ipt]) ;
- fOutCont->Add(fhBkgNTracksInCones[icone][ipt]) ;
-
+
+ TString lastnamehist ="Cone"+ fJetNameCones[icone]+"Pt"+ fJetNamePtThres[ipt];
+ TString lastnametitle =", cone ="+fJetNameCones[icone]+", pt > " +fJetNamePtThres[ipt]+" GeV/c";
+
+ //Jet Distributions
+ fhJetPts[icone][ipt] = new TH2F(Form("JetPt%s",lastnamehist.Data()),Form("p_{T jet} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhJetPts[icone][ipt]->SetYTitle("p_{T jet}");
+ fhJetPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetRatioPts[icone][ipt] = new TH2F(Form("JetRatioPt%s",lastnamehist.Data()),Form("p_{T jet}/p_{T trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
+ fhJetRatioPts[icone][ipt]->SetYTitle("p_{T jet}/p_{T trigger}");
+ fhJetRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetDeltaPhis[icone][ipt] = new TH2F(Form("JetDeltaPhi%s",lastnamehist.Data()),Form("#phi_{jet} - #phi_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhJetDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
+ fhJetDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetDeltaEtas[icone][ipt] = new TH2F(Form("JetDeltaEta%s",lastnamehist.Data()),Form("#eta_{jet} - #eta_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
+ fhJetDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
+ fhJetDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetLeadingRatioPts[icone][ipt] = new TH2F(Form("JetLeadingRatioPt%s",lastnamehist.Data()),Form("p_{T jet} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
+ fhJetLeadingRatioPts[icone][ipt]->SetYTitle("p_{T leading}/p_{T jet}");
+ fhJetLeadingRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetLeadingDeltaPhis[icone][ipt] = new TH2F(Form("JetLeadingDeltaPhi%s",lastnamehist.Data()),Form("#phi_{jet} - #phi_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhJetLeadingDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
+ fhJetLeadingDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetLeadingDeltaEtas[icone][ipt] = new TH2F(Form("JetLeadingDeltaEta%s",lastnamehist.Data()),Form("#eta_{jet} - #eta_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
+ fhJetLeadingDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
+ fhJetLeadingDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhJetFFzs[icone][ipt] = new TH2F(Form("JetFFz%s",lastnamehist.Data()),"z = p_{T i charged}/p_{T trigger} vs p_{T trigger}", 120,0.,120.,200,0.,2);
+ fhJetFFzs[icone][ipt]->SetYTitle("z");
+ fhJetFFzs[icone][ipt]->SetXTitle("p_{T trigger}");
+
+ fhJetFFxis[icone][ipt] = new TH2F(Form("JetFFxi%s",lastnamehist.Data()),"#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}", 120,0.,120.,100,0.,10.);
+ fhJetFFxis[icone][ipt]->SetYTitle("#xi");
+ fhJetFFxis[icone][ipt]->SetXTitle("p_{T trigger}");
+
+ fhJetFFpts[icone][ipt] = new TH2F(Form("JetFFpt%s",lastnamehist.Data()),"p_{T charged hadron } in jet vs p_{T trigger}", 120,0.,120.,200,0.,50.);
+ fhJetFFpts[icone][ipt]->SetYTitle("p_{T charged hadron}");
+ fhJetFFpts[icone][ipt]->SetXTitle("p_{T trigger}");
+
+ fhJetNTracksInCones[icone][ipt] = new TH2F(Form("JetNTracksInCone%s",lastnamehist.Data()),Form("N particles in cone vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,5000,0, 5000);
+ fhJetNTracksInCones[icone][ipt]->SetYTitle("N tracks in jet cone");
+ fhJetNTracksInCones[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fOutCont->Add(fhJetPts[icone][ipt]) ;
+ fOutCont->Add(fhJetRatioPts[icone][ipt]) ;
+ fOutCont->Add(fhJetDeltaPhis[icone][ipt]) ;
+ fOutCont->Add(fhJetDeltaEtas[icone][ipt]) ;
+ fOutCont->Add(fhJetLeadingRatioPts[icone][ipt]) ;
+ fOutCont->Add(fhJetLeadingDeltaPhis[icone][ipt]) ;
+ fOutCont->Add(fhJetLeadingDeltaEtas[icone][ipt]) ;
+ fOutCont->Add(fhJetFFzs[icone][ipt]) ;
+ fOutCont->Add(fhJetFFxis[icone][ipt]) ;
+ fOutCont->Add(fhJetFFpts[icone][ipt]) ;
+ fOutCont->Add(fhJetNTracksInCones[icone][ipt]) ;
+
+ //Bkg Distributions
+ fhBkgPts[icone][ipt] = new TH2F(Form("BkgPt%s",lastnamehist.Data()),Form("p_{T bkg} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhBkgPts[icone][ipt]->SetYTitle("p_{T bkg}");
+ fhBkgPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgRatioPts[icone][ipt] = new TH2F(Form("BkgRatioPt%s",lastnamehist.Data()),Form("p_{T bkg}/p_{T trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
+ fhBkgRatioPts[icone][ipt]->SetYTitle("p_{T bkg}/p_{T trigger}");
+ fhBkgRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgDeltaPhis[icone][ipt] = new TH2F(Form("BkgDeltaPhi%s",lastnamehist.Data()),Form("#phi_{bkg} - #phi_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhBkgDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
+ fhBkgDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgDeltaEtas[icone][ipt] = new TH2F(Form("BkgDeltaEta%s",lastnamehist.Data()),Form("#eta_{bkg} - #eta_{trigger} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
+ fhBkgDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
+ fhBkgDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgLeadingRatioPts[icone][ipt] = new TH2F(Form("BkgLeadingRatioPt%s",lastnamehist.Data()),Form("p_{T bkg} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,2);
+ fhBkgLeadingRatioPts[icone][ipt]->SetYTitle("p_{T leading}/p_{T bkg}");
+ fhBkgLeadingRatioPts[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgLeadingDeltaPhis[icone][ipt] = new TH2F(Form("BkgLeadingDeltaPhi%s",lastnamehist.Data()),Form("#phi_{bkg} - #phi_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,0,TMath::TwoPi());
+ fhBkgLeadingDeltaPhis[icone][ipt]->SetYTitle("#Delta #phi (rad)");
+ fhBkgLeadingDeltaPhis[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgLeadingDeltaEtas[icone][ipt] = new TH2F(Form("BkgLeadingDeltaEta%s",lastnamehist.Data()),Form("#eta_{bkg} - #eta_{leading} vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,120,-2,2);
+ fhBkgLeadingDeltaEtas[icone][ipt]->SetYTitle("#Delta #eta");
+ fhBkgLeadingDeltaEtas[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fhBkgFFzs[icone][ipt] = new TH2F(Form("BkgFFz%s",lastnamehist.Data()),"z = p_{T i charged}/p_{T trigger} vs p_{T trigger}", 120,0.,120.,200,0.,2);
+ fhBkgFFzs[icone][ipt]->SetYTitle("z");
+ fhBkgFFzs[icone][ipt]->SetXTitle("p_{T trigger}");
+
+ fhBkgFFxis[icone][ipt] = new TH2F(Form("BkgFFxi%s",lastnamehist.Data()),"#xi = ln(p_{T trigger}/p_{T i charged}) vs p_{T trigger}", 120,0.,120.,100,0.,10.);
+ fhBkgFFxis[icone][ipt]->SetYTitle("#xi");
+ fhBkgFFxis[icone][ipt]->SetXTitle("p_{T trigger}");
+
+ fhBkgFFpts[icone][ipt] = new TH2F(Form("BkgFFpt%s",lastnamehist.Data()),"p_{T charged hadron} in jet vs p_{T trigger}", 120,0.,120.,200,0.,50.);
+ fhBkgFFpts[icone][ipt]->SetYTitle("p_{T charged hadron}");
+ fhBkgFFpts[icone][ipt]->SetXTitle("p_{T trigger}");
+
+ fhBkgNTracksInCones[icone][ipt] = new TH2F(Form("BkgNTracksInCone%s",lastnamehist.Data()),Form("N particles in cone vs p_{T trigger} %s",lastnametitle.Data()),nptbins,ptmin,ptmax,5000,0, 5000);
+ fhBkgNTracksInCones[icone][ipt]->SetYTitle("N tracks in bkg cone");
+ fhBkgNTracksInCones[icone][ipt]->SetXTitle("p_{T trigger} (GeV/c)");
+
+ fOutCont->Add(fhBkgPts[icone][ipt]) ;
+ fOutCont->Add(fhBkgRatioPts[icone][ipt]) ;
+ fOutCont->Add(fhBkgDeltaPhis[icone][ipt]) ;
+ fOutCont->Add(fhBkgDeltaEtas[icone][ipt]) ;
+ fOutCont->Add(fhBkgLeadingRatioPts[icone][ipt]) ;
+ fOutCont->Add(fhBkgLeadingDeltaPhis[icone][ipt]) ;
+ fOutCont->Add(fhBkgLeadingDeltaEtas[icone][ipt]) ;
+ fOutCont->Add(fhBkgFFzs[icone][ipt]) ;
+ fOutCont->Add(fhBkgFFxis[icone][ipt]) ;
+ fOutCont->Add(fhBkgFFpts[icone][ipt]) ;
+ fOutCont->Add(fhBkgNTracksInCones[icone][ipt]) ;
+
}//ipt
} //icone
}//If we want to study any cone or pt threshold
TList * nmsHistos = GetNeutralMesonSelection()->GetCreateOutputObjects() ;
if(GetNeutralMesonSelection()->AreNeutralMesonSelectionHistosKept())
for(Int_t i = 0; i < nmsHistos->GetEntries(); i++) fOutCont->Add(nmsHistos->At(i)) ;
- delete nmsHistos;
+ delete nmsHistos;
}
- if(GetDebug() > 2){
- printf("AliAnaParticleJetLeadingConeCorrelation::GetCreateOutputObjects() - All histograms names : \n");
- for(Int_t i = 0 ; i< fOutCont->GetEntries(); i++)
- printf("Histo i %d name %s\n",i,((fOutCont->At(i))->GetName()));
- //cout<< (fOutCont->At(i))->GetName()<<endl;
- }
+ // if(GetDebug() > 2)
+ // {
+ // printf("AliAnaParticleJetLeadingConeCorrelation::GetCreateOutputObjects() - All histograms names : \n");
+ // for(Int_t i = 0 ; i< fOutCont->GetEntries(); i++)
+ // printf("Histo i %d name %s\n",i,((fOutCont->At(i))->GetName()));
+ // //cout<< (fOutCont->At(i))->GetName()<<endl;
+ // }
return fOutCont;
-
+
}
//__________________________________________________________________________________________________________
{
if((ptch >= ptpi))
{
- if(GetDebug() > 1)printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingParticle() - Leading found in CTS \n");
+ AliDebug(1,"Leading found in CTS");
fLeadingMom = fLeadingChargeMom;
- if(GetDebug() > 1) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingParticle() - Found Leading: pt %2.3f, phi %2.3f deg, eta %2.3f\n",
- fLeadingMom.Pt(),fLeadingMom.Phi()*TMath::RadToDeg(),fLeadingMom.Eta()) ;
+ AliDebug(1,Form("Found Leading: pt %2.3f, phi %2.3f deg, eta %2.3f",fLeadingMom.Pt(),fLeadingMom.Phi()*TMath::RadToDeg(),fLeadingMom.Eta())) ;
//Put leading in AOD
particle->SetLeading(fLeadingChargeMom);
}
else
{
- if(GetDebug() > 1)
- printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingParticle() - Leading found in EMCAL \n");
+ AliDebug(1,"Leading found in EMCAL");
fLeadingMom = fLeadingPi0Mom;
- if(GetDebug() > 1) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingParticle() - Found Leading: pt %2.3f, phi %2.3f, eta %2.3f\n",
- fLeadingMom.Pt(),fLeadingMom.Phi()*TMath::RadToDeg(),fLeadingMom.Eta()) ;
+ AliDebug(1,Form("Found Leading: pt %2.3f, phi %2.3f, eta %2.3f",fLeadingMom.Pt(),fLeadingMom.Phi()*TMath::RadToDeg(),fLeadingMom.Eta())) ;
//Put leading in AOD
particle->SetLeading(fLeadingPi0Mom);
particle->SetLeadingDetector("EMCAL");
}
}
- if(GetDebug() > 1)printf ("AliAnaParticleJetLeadingConeCorrelation::GetLeadingParticle() - NO LEADING PARTICLE FOUND \n");
+ AliDebug(1,"NO LEADING PARTICLE FOUND");
return kFALSE;
}
}// track loop
- if(GetDebug() > 1 && ptl > 0 )
- printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingCharge() - Leading in CTS: pt %2.3f eta %2.3f phi %2.3f pt/ptTrig %2.3f, |phiTrig-phi| %2.3f \n",
- ptl, fLeadingChargeMom.Eta(), phil,ptl/ptTrig, TMath::Abs(phiTrig-phil)) ;
+ if( ptl > 0 )AliDebug(1,Form("Leading in CTS: pt %2.3f eta %2.3f phi %2.3f pt/ptTrig %2.3f, |phiTrig-phi| %2.3f",
+ ptl, fLeadingChargeMom.Eta(), phil,ptl/ptTrig, TMath::Abs(phiTrig-phil))) ;
}
Int_t pdgi=0;
if(!SelectCluster(calo, vertex, fLeadingPhoMom1, pdgi)) continue ;
- if(GetDebug() > 2) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0() - Neutral cluster: pt %2.3f, phi %2.3f \n",
- fLeadingPhoMom1.Pt(),fLeadingPhoMom1.Phi());
+ AliDebug(1,Form("Neutral cluster: pt %2.3f, phi %2.3f",fLeadingPhoMom1.Pt(),fLeadingPhoMom1.Phi()));
//2 gamma overlapped, found with PID
if(pdgi == AliCaloPID::kPi0)
{
- if(GetDebug() > 2) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0() - Neutral cluster ID as Pi0 \n");
+ AliDebug(1,"Neutral cluster ID as Pi0");
pt = fLeadingPhoMom1.Pt();
rat = pt/ptTrig;
//Selection within angular and energy limits
Float_t deltaphi = TMath::Abs(phiTrig-phi);
- if(GetDebug() > 3 ) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0() - Neutral Hadron Correlation: gamma pair: pt %2.2f, phi %2.2f, eta %2.2f, |phiTrig-phi| %2.3f, pt/ptTrig %2.3f, M %2.3f\n",
- pt,phi,(fLeadingPhoMom1+fLeadingPhoMom2).Eta(), deltaphi, rat, (fLeadingPhoMom1+fLeadingPhoMom2).M());
+ AliDebug(1,Form("Neutral Hadron Correlation: gamma pair: pt %2.2f, phi %2.2f, eta %2.2f, |phiTrig-phi| %2.3f, pt/ptTrig %2.3f, M %2.3f",
+ pt,phi,(fLeadingPhoMom1+fLeadingPhoMom2).Eta(), deltaphi, rat, (fLeadingPhoMom1+fLeadingPhoMom2).M()));
if(pt > ptl && rat > fLeadingRatioMinCut && rat < fLeadingRatioMaxCut &&
deltaphi > fDeltaPhiMinCut && deltaphi < fDeltaPhiMaxCut ){
ptl = pt ;
fLeadingPi0Mom=(fLeadingPhoMom1+fLeadingPhoMom2);
- if(GetDebug() > 3 ) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0() - Neutral Hadron Correlation: Selected gamma pair: pt %2.2f, phi %2.2f, eta %2.2f, M %2.3f\n",
- ptl,phil,(fLeadingPhoMom1+fLeadingPhoMom2).Eta(), (fLeadingPhoMom1+fLeadingPhoMom2).M());
+ AliDebug(1,Form("Neutral Hadron Correlation: Selected gamma pair: pt %2.2f, phi %2.2f, eta %2.2f, M %2.3f",
+ ptl,phil,(fLeadingPhoMom1+fLeadingPhoMom2).Eta(), (fLeadingPhoMom1+fLeadingPhoMom2).M()));
}//pi0 selection
}// if pdg = 22
}// 1st Loop
- if(GetDebug() > 2 && fLeadingPi0Mom.Pt() > 0 )
- printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0() - Leading EMCAL: pt %2.3f eta %2.3f phi %2.3f pt/Eg %2.3f \n",
- fLeadingPi0Mom.Pt(), fLeadingPi0Mom.Eta(), phil, fLeadingPi0Mom.Pt()/ptTrig) ;
+ if(fLeadingPi0Mom.Pt() > 0 )
+ AliDebug(1,Form("Leading EMCAL: pt %2.3f eta %2.3f phi %2.3f pt/Eg %2.3f",
+ fLeadingPi0Mom.Pt(), fLeadingPi0Mom.Eta(), phil, fLeadingPi0Mom.Pt()/ptTrig)) ;
}
{
//Initialize the parameters of the analysis.
SetInputAODName("PWG4Particle");
- SetAODObjArrayName("JetLeadingCone");
+ SetAODObjArrayName("JetLeadingCone");
AddToHistogramsName("AnaJetLCCorr_");
fJetsOnlyInCTS = kFALSE ;
//Leading selection parameters
fDeltaPhiMinCut = 2.9 ;
- fDeltaPhiMaxCut = 3.4 ;
+ fDeltaPhiMaxCut = 3.4 ;
fLeadingRatioMinCut = 0.1;
- fLeadingRatioMaxCut = 1.5;
+ fLeadingRatioMaxCut = 1.5;
//Jet selection parameters
- //Fixed cut
- fJetRatioMaxCut = 1.2 ;
- fJetRatioMinCut = 0.3 ;
+ //Fixed cut
+ fJetRatioMaxCut = 1.2 ;
+ fJetRatioMinCut = 0.3 ;
fJetCTSRatioMaxCut = 1.2 ;
fJetCTSRatioMinCut = 0.3 ;
fSelect = 0 ; //0, Accept all jets, 1, selection depends on energy, 2 fixed selection
//Cut depending on gamma energy
fPtTriggerSelectionCut = 10.; //For Low pt jets+BKG, another limits applied
- //Reconstructed jet energy dependence parameters
- //e_jet = a1+e_gamma b2.
+ //Reconstructed jet energy dependence parameters
+ //e_jet = a1+e_gamma b2.
//Index 0-> Pt>2 GeV r = 0.3; Index 1-> Pt>0.5 GeV r = 0.3
fJetE1[0] = -5.75; fJetE1[1] = -4.1;
fJetE2[0] = 1.005; fJetE2[1] = 1.05;
- //Reconstructed sigma of jet energy dependence parameters
- //s_jet = a1+e_gamma b2.
+ //Reconstructed sigma of jet energy dependence parameters
+ //s_jet = a1+e_gamma b2.
//Index 0-> Pt>2 GeV r = 0.3; Index 1-> Pt>0.5 GeV r = 0.3
fJetSigma1[0] = 2.65; fJetSigma1[1] = 2.75;
fJetSigma2[0] = 0.0018; fJetSigma2[1] = 0.033;
//Background mean energy and RMS
- //Index 0-> No BKG; Index 1-> BKG > 2 GeV;
+ //Index 0-> No BKG; Index 1-> BKG > 2 GeV;
//Index 2-> (low pt jets)BKG > 0.5 GeV;
//Index > 2, same for CTS conf
fBkgMean[0] = 0.; fBkgMean[1] = 8.8 ; fBkgMean[2] = 69.5;
fBkgMean[3] = 0.; fBkgMean[4] = 6.4; fBkgMean[5] = 48.6;
- fBkgRMS[0] = 0.; fBkgRMS[1] = 7.5; fBkgRMS[2] = 22.0;
- fBkgRMS[3] = 0.; fBkgRMS[4] = 5.4; fBkgRMS[5] = 13.2;
-
+ fBkgRMS[0] = 0.; fBkgRMS[1] = 7.5; fBkgRMS[2] = 22.0;
+ fBkgRMS[3] = 0.; fBkgRMS[4] = 5.4; fBkgRMS[5] = 13.2;
+
//Factor x of min/max = E -+ x * sigma. Obtained after selecting the
//limits for monoenergetic jets.
- //Index 0-> No BKG; Index 1-> BKG > 2 GeV;
+ //Index 0-> No BKG; Index 1-> BKG > 2 GeV;
//Index 2-> (low pt jets) BKG > 0.5 GeV;
//Index > 2, same for CTS conf
-
- fJetXMin1[0] =-0.69 ; fJetXMin1[1] = 0.39 ; fJetXMin1[2] =-0.88 ;
+
+ fJetXMin1[0] =-0.69 ; fJetXMin1[1] = 0.39 ; fJetXMin1[2] =-0.88 ;
fJetXMin1[3] =-2.0 ; fJetXMin1[4] =-0.442 ; fJetXMin1[5] =-1.1 ;
- fJetXMin2[0] = 0.066; fJetXMin2[1] = 0.038; fJetXMin2[2] = 0.034;
+ fJetXMin2[0] = 0.066; fJetXMin2[1] = 0.038; fJetXMin2[2] = 0.034;
fJetXMin2[3] = 0.25 ; fJetXMin2[4] = 0.113; fJetXMin2[5] = 0.077 ;
- fJetXMax1[0] =-3.8 ; fJetXMax1[1] =-0.76 ; fJetXMax1[2] =-3.6 ;
+ fJetXMax1[0] =-3.8 ; fJetXMax1[1] =-0.76 ; fJetXMax1[2] =-3.6 ;
fJetXMax1[3] =-2.7 ; fJetXMax1[4] =-1.21 ; fJetXMax1[5] =-3.7 ;
- fJetXMax2[0] =-0.012; fJetXMax2[1] =-0.022; fJetXMax2[2] = 0.016;
+ fJetXMax2[0] =-0.012; fJetXMax2[1] =-0.022; fJetXMax2[2] = 0.016;
fJetXMax2[3] =-0.024; fJetXMax2[4] =-0.008; fJetXMax2[5] = 0.027;
-
-
+
+
//Different cones and pt thresholds to construct the jet
-
+
fJetCone = 0.3 ;
fJetPtThreshold = 0.5 ;
fJetPtThresPbPb = 2. ;
fJetCones[1] = 0.3 ; fJetNameCones[1] = "03" ;
fJetCones[2] = 0.4 ; fJetNameCones[2] = "04" ;
fJetCones[2] = 0.5 ; fJetNameCones[2] = "05" ;
-
+
fJetPtThres[0] = 0.0 ; fJetNamePtThres[0] = "00" ;
fJetPtThres[1] = 0.5 ; fJetNamePtThres[1] = "05" ;
fJetPtThres[2] = 1.0 ; fJetNamePtThres[2] = "10" ;
fJetPtThres[3] = 2.0 ; fJetNamePtThres[3] = "20" ;
}
-//__________________________________________________________________________-
-Bool_t AliAnaParticleJetLeadingConeCorrelation::IsJetSelected(const Double_t ptTrig, const Double_t ptjet) const {
+//__________________________________________________________________________________________________
+Bool_t AliAnaParticleJetLeadingConeCorrelation::IsJetSelected(Double_t ptTrig, Double_t ptjet) const
+{
//Given the pt of the jet and the trigger particle, select the jet or not
- //3 options, fSelect=0 accepts all, fSelect=1 selects jets depending on a
+ //3 options, fSelect=0 accepts all, fSelect=1 selects jets depending on a
//function energy dependent and fSelect=2 selects on simple fixed cuts
if(ptjet == 0) return kFALSE;
iCTS = 3 ;
if(!fPbPb){
- //Phythia alone, jets with pt_th > 0.2, r = 0.3
- par[0] = fJetE1[0]; par[1] = fJetE2[0];
+ //Phythia alone, jets with pt_th > 0.2, r = 0.3
+ par[0] = fJetE1[0]; par[1] = fJetE2[0];
//Energy of the jet peak
//e_jet = fJetE1[0]+fJetE2[0]*e_gamma, simulation fit
par[2] = fJetSigma1[0]; par[3] = fJetSigma2[0];
//Parameters reserved for PbPb bkg.
xmax[0] = fJetXMax1[0 + iCTS]; xmax[1] = fJetXMax2[0 + iCTS];
xmin[0] = fJetXMin1[0 + iCTS]; xmin[1] = fJetXMin2[0 + iCTS];
- //Factor that multiplies sigma to obtain the best limits,
+ //Factor that multiplies sigma to obtain the best limits,
//by observation, of mono jet ratios (ptjet/ptTrig)
//X_jet = fJetX1[0]+fJetX2[0]*e_gamma
}
else{
if(ptTrig > fPtTriggerSelectionCut){
- //Phythia +PbPb with pt_th > 2 GeV/c, r = 0.3
- par[0] = fJetE1[0]; par[1] = fJetE2[0];
- //Energy of the jet peak, same as in pp
- //e_jet = fJetE1[0]+fJetE2[0]*e_gamma, simulation fit
- par[2] = fJetSigma1[0]; par[3] = fJetSigma2[0];
- //Sigma of the jet peak, same as in pp
- //sigma_jet = fJetSigma1[0]+fJetSigma2[0]*e_gamma, simulation fit
- par[4] = fBkgMean[1 + iCTS]; par[5] = fBkgRMS[1 + iCTS];
- //Mean value and RMS of PbPb Bkg
- xmax[0] = fJetXMax1[1 + iCTS]; xmax[1] = fJetXMax2[1 + iCTS];
- xmin[0] = fJetXMin1[1 + iCTS]; xmin[1] = fJetXMin2[1 + iCTS];
- //Factor that multiplies sigma to obtain the best limits,
- //by observation, of mono jet ratios (ptjet/ptTrig) mixed with PbPb Bkg,
- //pt_th > 2 GeV, r = 0.3
- //X_jet = fJetX1[0]+fJetX2[0]*e_gamma
-
+ //Phythia +PbPb with pt_th > 2 GeV/c, r = 0.3
+ par[0] = fJetE1[0]; par[1] = fJetE2[0];
+ //Energy of the jet peak, same as in pp
+ //e_jet = fJetE1[0]+fJetE2[0]*e_gamma, simulation fit
+ par[2] = fJetSigma1[0]; par[3] = fJetSigma2[0];
+ //Sigma of the jet peak, same as in pp
+ //sigma_jet = fJetSigma1[0]+fJetSigma2[0]*e_gamma, simulation fit
+ par[4] = fBkgMean[1 + iCTS]; par[5] = fBkgRMS[1 + iCTS];
+ //Mean value and RMS of PbPb Bkg
+ xmax[0] = fJetXMax1[1 + iCTS]; xmax[1] = fJetXMax2[1 + iCTS];
+ xmin[0] = fJetXMin1[1 + iCTS]; xmin[1] = fJetXMin2[1 + iCTS];
+ //Factor that multiplies sigma to obtain the best limits,
+ //by observation, of mono jet ratios (ptjet/ptTrig) mixed with PbPb Bkg,
+ //pt_th > 2 GeV, r = 0.3
+ //X_jet = fJetX1[0]+fJetX2[0]*e_gamma
+
}
else{
- //Phythia + PbPb with pt_th > 0.5 GeV/c, r = 0.3
- par[0] = fJetE1[1]; par[1] = fJetE2[1];
- //Energy of the jet peak, pt_th > 2 GeV/c, r = 0.3
- //e_jet = fJetE1[0]+fJetE2[0]*e_gamma, simulation fit
- par[2] = fJetSigma1[1]; par[3] = fJetSigma2[1];
- //Sigma of the jet peak, pt_th > 2 GeV/c, r = 0.3
- //sigma_jet = fJetSigma1[0]+fJetSigma2[0]*e_gamma, simulation fit
- par[4] = fBkgMean[2 + iCTS]; par[5] = fBkgRMS[2 + iCTS];
- //Mean value and RMS of PbPb Bkg in a 0.3 cone, pt > 2 GeV.
- xmax[0] = fJetXMax1[2 + iCTS]; xmax[1] = fJetXMax2[2 + iCTS];
- xmin[0] = fJetXMin1[2 + iCTS]; xmin[1] = fJetXMin2[2 + iCTS];
- //Factor that multiplies sigma to obtain the best limits,
- //by observation, of mono jet ratios (ptjet/ptTrig) mixed with PbPb Bkg,
- //pt_th > 2 GeV, r = 0.3
- //X_jet = fJetX1[0]+fJetX2[0]*e_gamma
-
+ //Phythia + PbPb with pt_th > 0.5 GeV/c, r = 0.3
+ par[0] = fJetE1[1]; par[1] = fJetE2[1];
+ //Energy of the jet peak, pt_th > 2 GeV/c, r = 0.3
+ //e_jet = fJetE1[0]+fJetE2[0]*e_gamma, simulation fit
+ par[2] = fJetSigma1[1]; par[3] = fJetSigma2[1];
+ //Sigma of the jet peak, pt_th > 2 GeV/c, r = 0.3
+ //sigma_jet = fJetSigma1[0]+fJetSigma2[0]*e_gamma, simulation fit
+ par[4] = fBkgMean[2 + iCTS]; par[5] = fBkgRMS[2 + iCTS];
+ //Mean value and RMS of PbPb Bkg in a 0.3 cone, pt > 2 GeV.
+ xmax[0] = fJetXMax1[2 + iCTS]; xmax[1] = fJetXMax2[2 + iCTS];
+ xmin[0] = fJetXMin1[2 + iCTS]; xmin[1] = fJetXMin2[2 + iCTS];
+ //Factor that multiplies sigma to obtain the best limits,
+ //by observation, of mono jet ratios (ptjet/ptTrig) mixed with PbPb Bkg,
+ //pt_th > 2 GeV, r = 0.3
+ //X_jet = fJetX1[0]+fJetX2[0]*e_gamma
+
}//If low pt jet in bkg
}//if Bkg
Double_t min = CalculateJetRatioLimit(ptTrig, par, xmin);
Double_t max = CalculateJetRatioLimit(ptTrig, par, xmax);
- if(GetDebug() > 3)printf("AliAnaParticleJetLeadingConeCorrelation::IsJetSelected() - Jet selection? : Limits min %2.3f, max %2.3f, pt_jet %2.3f, pt_gamma %2.3f, pt_jet / pt_gamma %2.3f\n",min,max,ptjet,ptTrig,rat);
+ AliDebug(3,Form("Jet selection? : Limits min %2.3f, max %2.3f, pt_jet %2.3f, pt_gamma %2.3f, pt_jet / pt_gamma %2.3f",min,max,ptjet,ptTrig,rat));
if(( min < rat ) && ( max > ptjet/rat))
return kTRUE;
return kFALSE;
}//fSelect = 1
//###############################################################
- else if(fSelect == 2){
+ else if(fSelect == 2)
+ {
//Simple selection
- if(!fJetsOnlyInCTS){
+ if(!fJetsOnlyInCTS)
+ {
if((rat < fJetRatioMaxCut) && (rat > fJetRatioMinCut )) return kTRUE;
}
- else{
+ else
+ {
if((rat < fJetCTSRatioMaxCut) && (rat > fJetCTSRatioMinCut )) return kTRUE;
}
}// fSelect = 2
//###############################################################
- else{
- printf("AliAnaParticleJetLeadingConeCorrelation::IsJetSelected() - Jet selection option larger than 2, DON'T SELECT JETS\n");
+ else
+ {
+ AliWarning(")Jet selection option larger than 2, DON'T SELECT JETS");
return kFALSE ;
}
}
//___________________________________________________________________
-Bool_t AliAnaParticleJetLeadingConeCorrelation::IsParticleInJetCone(const Double_t eta, Double_t phi, const Double_t etal, Double_t phil)
- const {
+Bool_t AliAnaParticleJetLeadingConeCorrelation::IsParticleInJetCone(Double_t eta, Double_t phi, Double_t etal, Double_t phil)
+const {
//Check if the particle is inside the cone defined by the leading particle
//WARNING: To be rechecked
if(phi < 0) phi+=TMath::TwoPi();
- if(phil < 0) phil+=TMath::TwoPi();
+ if(phil < 0) phil+=TMath::TwoPi();
Double_t rad = 10000 + fJetCone;
if(TMath::Abs(phi-phil) <= (TMath::TwoPi() - fJetCone))
}
//__________________________________________________________________
-void AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD()
-{
+void AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD()
+{
//Particle-Hadron Correlation Analysis, fill AODs
- if(!GetInputAODBranch()){
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - No input particles in AOD with name branch < %s > \n",
- GetInputAODName().Data());
- abort();
- }
-
- if(strcmp(GetInputAODBranch()->GetClass()->GetName(), "AliAODPWG4ParticleCorrelation")){
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s> \n",GetInputAODBranch()->GetClass()->GetName());
- abort();
- }
-
- if(GetDebug() > 1){
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - Begin jet leading cone correlation analysis, fill AODs \n");
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - In particle branch aod entries %d\n", GetInputAODBranch()->GetEntriesFast());
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - In CTS aod entries %d\n", GetCTSTracks()->GetEntriesFast());
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - In EMCAL aod entries %d\n", GetEMCALClusters()->GetEntriesFast());
+ if(!GetInputAODBranch())
+ {
+ AliFatal(Form("No input particles in AOD with name branch < %s >",GetInputAODName().Data()));
+ return;// coverity
}
+ if(strcmp(GetInputAODBranch()->GetClass()->GetName(), "AliAODPWG4ParticleCorrelation"))
+ AliFatal(Form("Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s>",
+ GetInputAODBranch()->GetClass()->GetName()));
+
+
+ AliDebug(1,"Begin jet leading cone correlation analysis, fill AODs");
+ AliDebug(1,Form("In particle branch aod entries %d", GetInputAODBranch()->GetEntriesFast()));
+ AliDebug(1,Form("In CTS aod entries %d", GetCTSTracks() ->GetEntriesFast()));
+ AliDebug(1,Form("In EMCAL aod entries %d", GetEMCALClusters() ->GetEntriesFast()));
//Loop on stored AOD particles, trigger
Int_t naod = GetInputAODBranch()->GetEntriesFast();
for(Int_t iaod = 0; iaod < naod ; iaod++)
{
- AliAODPWG4ParticleCorrelation* particle = (AliAODPWG4ParticleCorrelation*) (GetInputAODBranch()->At(iaod));
+ AliAODPWG4ParticleCorrelation* particle = (AliAODPWG4ParticleCorrelation*) (GetInputAODBranch()->At(iaod));
// printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - Trigger : pt %3.2f, phi %2.2f, eta %2.2f\n",particle->Pt(), particle->Phi(), particle->Eta());
- //Search leading particles in CTS and EMCAL
+ //Search leading particles in CTS and EMCAL
if(GetLeadingParticle(particle))
{
- //Construct the jet around the leading, Fill AOD jet particle list, select jet
- //and fill AOD with jet and background
+ //Construct the jet around the leading, Fill AOD jet particle list, select jet
+ //and fill AOD with jet and background
MakeAODJet(particle);
}//Leading found
}//AOD trigger particle loop
- if(GetDebug() >1)printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillAOD() - End of jet leading cone analysis, fill AODs \n");
+ AliDebug(1,"End of jet leading cone analysis, fill AODs");
-}
+}
//_________________________________________________________________________
void AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms()
if(!GetInputAODBranch())
{
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - No input particles in AOD with name branch < %s > \n",
+ printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - No input particles in AOD with name branch < %s >",
GetInputAODName().Data());
- abort();
+ return;
}
- if(GetDebug() > 1)
- {
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - Begin jet leading cone correlation analysis, fill histograms \n");
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - In particle branch aod entries %d\n", GetInputAODBranch()->GetEntriesFast());
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - In CTS aod entries %d\n", GetCTSTracks()->GetEntriesFast());
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - In EMCAL aod entries %d\n", GetEMCALClusters()->GetEntriesFast());
- }
+ AliDebug(1,"Begin jet leading cone correlation analysis, fill histograms");
+ AliDebug(1,Form("In particle branch aod entries %d", GetInputAODBranch()->GetEntriesFast()));
+ AliDebug(1,Form("In CTS aod entries %d", GetCTSTracks() ->GetEntriesFast()));
+ AliDebug(1,Form("In EMCAL aod entries %d", GetEMCALClusters() ->GetEntriesFast()));
//Loop on stored AOD particles, trigger
Int_t naod = GetInputAODBranch()->GetEntriesFast();
if(phiL < 0 ) phiL+=TMath::TwoPi();
Double_t etaL = fLeadingMom.Eta();
- if(GetDebug() > 1) printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - Trigger with pt %3.2f, phi %2.2f, eta %2.2f\n", pt, phi, eta);
+ AliDebug(1,Form("Trigger with pt %3.2f, phi %2.2f, eta %2.2f", pt, phi, eta));
- if(det == "CTS"){
+ if(det == "CTS")
+ {
fhChargedLeadingPt->Fill(pt,ptL);
fhChargedLeadingPhi->Fill(pt,phiL);
fhChargedLeadingEta->Fill(pt,etaL);
if(pt > 30) fhChargedLeadingDeltaPhiRatioPt30->Fill(TMath::Abs(phi-phiL),ptL/pt);
if(pt > 50) fhChargedLeadingDeltaPhiRatioPt50->Fill(TMath::Abs(phi-phiL),ptL/pt);
}
- else if(det== "EMCAL"){
+ else if(det== "EMCAL")
+ {
fhNeutralLeadingPt->Fill(pt,ptL);
fhNeutralLeadingPhi->Fill(pt,phiL);
fhNeutralLeadingEta->Fill(pt,etaL);
fhNeutralLeadingXi->Fill(pt,TMath::Log(pt/ptL));
if(pt > 30) fhNeutralLeadingDeltaPhiRatioPt30->Fill(TMath::Abs(phi-phiL),ptL/pt);
if(pt > 50) fhNeutralLeadingDeltaPhiRatioPt50->Fill(TMath::Abs(phi-phiL),ptL/pt);
-
}
//Fill Jet histograms
}//Leading
}//AOD trigger particle loop
- if(GetDebug() >1)printf("AliAnaParticleJetLeadingConeCorrelation::MakeAnalysisFillHistograms() - End of jet leading cone analysis, fill histograms \n");
+ AliDebug(1,"End of jet leading cone analysis, fill histograms");
-}
+}
//_______________________________________________________________________________________________
void AliAnaParticleJetLeadingConeCorrelation::MakeAODJet(AliAODPWG4ParticleCorrelation *particle)
if(fPbPb && !fSeveralConeAndPtCuts && ptTrig > fPtTriggerSelectionCut) ptcut = fJetPtThresPbPb ;
//Add charged particles to jet if they are in cone around the leading particle
- if(!GetCTSTracks()) {
- printf("AliAnaParticleJetLeadingConeCorrelation::MakeAODJet() - Cannot construct jets without tracks, STOP analysis");
+ if(!GetCTSTracks())
+ {
+ AliFatal("Cannot construct jets without tracks, STOP analysis");
return;
}
reftracks->SetName(Form("%sTracks",GetAODObjArrayName().Data()));
particle->AddObjArray(reftracks);
}
- else if(GetDebug() > 2 ) printf("AliAnaParticleJetLeadingConeCorrelation::MakeAODJet() - No tracks in jet cone\n");
+ else AliDebug(2,"No tracks in jet cone");
+
if(reftracksbkg->GetEntriesFast() > 0 )
{
reftracksbkg->SetName(Form("%sTracksBkg",GetAODObjArrayName().Data()));
particle->AddObjArray(reftracksbkg);
}
- else if(GetDebug() > 2 ) printf("AliAnaParticleJetLeadingConeCorrelation::MakeAODJet() - No background tracks in jet cone\n");
+ else AliDebug(1,"No background tracks in jet cone");
//Add neutral particles to jet
//Initialize reference arrays that will contain jet and background tracks
}//jets with neutral particles
//Add referenced clusters to AOD
- if(refclusters->GetEntriesFast() > 0 ){
+ if(refclusters->GetEntriesFast() > 0 )
+ {
refclusters->SetName(Form("%sClusters",GetAODObjArrayName().Data()));
particle->AddObjArray(refclusters);
}
- else if(GetDebug() > 2 ) printf("AliAnaParticleJetLeadingConeCorrelation::MakeAODJet() - No clusters in jet cone\n");
+ else AliDebug(2,"No clusters in jet cone");
+
if(refclustersbkg->GetEntriesFast() > 0 )
{
refclustersbkg->SetName(Form("%sClustersBkg",GetAODObjArrayName().Data()));
particle->AddObjArray(refclustersbkg);
}
- else if(GetDebug() > 2 ) printf("AliAnaParticleJetLeadingConeCorrelation::MakeAODJet() - No background clusters in jet cone\n");
+ else AliDebug(1,"No background clusters in jet cone");
//If there is any jet found, select after some criteria and
//and fill AOD with corresponding TLorentzVector kinematics
{
particle->SetCorrelatedJet(fJetMom);
particle->SetCorrelatedBackground(fBkgMom);
- if(GetDebug()>1) printf("AliAnaParticleJetLeadingConeCorrelation::MakeAODJet() - Found jet: Trigger pt %2.3f, Jet pt %2.3f, Bkg pt %2.3f\n",ptTrig,fJetMom.Pt(),fBkgMom.Pt());
- }
+ AliDebug(1,Form("Found jet: Trigger pt %2.3f, Jet pt %2.3f, Bkg pt %2.3f",ptTrig,fJetMom.Pt(),fBkgMom.Pt()));
+ }
}
fJetMom.SetPxPyPzE(0.,0.,0.,0.);
fBkgMom.SetPxPyPzE(0.,0.,0.,0.);
}
- else
- if(GetDebug()>1) printf("AliAnaParticleJetLeadingConeCorrelation::MakeJetFromAOD() - Found jet: Trigger pt %2.3f, Jet pt %2.3f, Bkg pt %2.3f\n",
- ptTrig,fJetMom.Pt(),fBkgMom.Pt());
+ else AliDebug(1,Form("Found jet: Trigger pt %2.3f, Jet pt %2.3f, Bkg pt %2.3f",ptTrig,fJetMom.Pt(),fBkgMom.Pt()));
}
printf("If pT of trigger < %2.3f, select jets as in pp? \n", fPtTriggerSelectionCut);
- printf("Phi gamma-Leading < %3.2f\n", fDeltaPhiMaxCut) ;
+ printf("Phi gamma-Leading < %3.2f\n", fDeltaPhiMaxCut) ;
printf("Phi gamma-Leading > %3.2f\n", fDeltaPhiMinCut) ;
- printf("pT Leading / pT Trigger < %3.2f\n", fLeadingRatioMaxCut) ;
+ printf("pT Leading / pT Trigger < %3.2f\n", fLeadingRatioMaxCut) ;
printf("pT Leading / pT Trigger > %3.2f\n", fLeadingRatioMinCut) ;
if(fSelect == 2){
- printf("pT Jet / pT Gamma < %3.2f\n", fJetRatioMaxCut) ;
+ printf("pT Jet / pT Gamma < %3.2f\n", fJetRatioMaxCut) ;
printf("pT Jet / pT Gamma > %3.2f\n", fJetRatioMinCut) ;
printf("pT Jet (Only CTS)/ pT Trigger < %3.2f\n", fJetCTSRatioMaxCut) ;
printf("pT Jet (Only CTS)/ pT Trigger > %3.2f\n", fJetCTSRatioMinCut) ;
printf("Wrong jet selection option: %d \n", fSelect) ;
printf("Isolated Trigger? %d\n", fSelectIsolated) ;
-
+
}
class AliAnaParticleJetLeadingConeCorrelation : public AliAnaCaloTrackCorrBaseClass {
-public:
- AliAnaParticleJetLeadingConeCorrelation() ; // default ctor
- virtual ~AliAnaParticleJetLeadingConeCorrelation() ; //virtual dtor
+public:
+
+ AliAnaParticleJetLeadingConeCorrelation() ; // default ctor
+ virtual ~AliAnaParticleJetLeadingConeCorrelation() { ; } // virtual dtor
TList * GetCreateOutputObjects();
private:
- Double_t CalculateJetRatioLimit(const Double_t ptTrig, const Double_t *param, const Double_t *x) const ;
+ Double_t CalculateJetRatioLimit(Double_t ptTrig, const Double_t *param, const Double_t *x) const ;
void FillJetHistos(AliAODPWG4ParticleCorrelation * particle, const TLorentzVector jet, const TString & type, const TString & lastname);
- TList * GetOutputContainer() const {return fOutCont; }
+ TList * GetOutputContainer() const { return fOutCont; }
- Bool_t IsJetSelected(const Double_t ptTrig, const Double_t ptjet) const ;
- Bool_t IsParticleInJetCone(const Double_t eta, Double_t phi, const Double_t etal, Double_t phil) const ;
+ Bool_t IsJetSelected(Double_t ptTrig, Double_t ptjet) const ;
+ Bool_t IsParticleInJetCone(Double_t eta, Double_t phi, Double_t etal, Double_t phil) const ;
void GetLeadingCharge (AliAODPWG4ParticleCorrelation * particle) ;
void GetLeadingPi0 (AliAODPWG4ParticleCorrelation * particle) ;
//Add partons to the reference list of the trigger particle
//Partons are considered those in the first eight possitions in the stack
//being 0, and 1 the 2 protons, and 6 and 7 the outgoing final partons.
- if(!GetInputAODBranch()){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - No input particles in AOD with name branch < %s > \n",GetInputAODName().Data());
- abort();
- }
-
- if(strcmp(GetInputAODBranch()->GetClass()->GetName(), "AliAODPWG4ParticleCorrelation")){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s> \n",GetInputAODBranch()->GetClass()->GetName());
- abort();
- }
+ if(!GetInputAODBranch())
+ AliFatal(Form("No input particles in AOD with name branch < %s > ",GetInputAODName().Data()));
+
- if(GetDebug() > 1){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - Begin fill AODs \n");
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - In particle branch aod entries %d\n", GetInputAODBranch()->GetEntriesFast());
- }
+ if(strcmp(GetInputAODBranch()->GetClass()->GetName(), "AliAODPWG4ParticleCorrelation"))
+ AliFatal(Form("Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s>",
+ GetInputAODBranch()->GetClass()->GetName()));
+
+ AliDebug(1,"Begin fill AODs");
+ AliDebug(1,Form("In particle branch aod entries %d", GetInputAODBranch()->GetEntriesFast()));
//Loop on stored AOD particles
Int_t naod = GetInputAODBranch()->GetEntriesFast();
- for(Int_t iaod = 0; iaod < naod ; iaod++){
+ for(Int_t iaod = 0; iaod < naod ; iaod++)
+ {
AliAODPWG4ParticleCorrelation* particle = (AliAODPWG4ParticleCorrelation*) (GetInputAODBranch()->At(iaod));
AliStack * stack = GetMCStack() ;
- if(!stack){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - No Stack available, STOP\n");
- abort();
+ if(!stack)
+ {
+ AliFatal("No Stack available, STOP");
+ return; // coverity
}
- if(stack->GetNtrack() < 8) {
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() *** small number of particles, not a PYTHIA simulation? ***: n tracks %d \n", stack->GetNprimary());
+
+ if(stack->GetNtrack() < 8)
+ {
+ AliWarning(Form("*** small number of particles, not a PYTHIA simulation? ***: n tracks %d", stack->GetNprimary()));
continue ;
}
}//Aod branch loop
- if(GetDebug() > 1) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - End fill AODs \n");
+ AliDebug(1,"End fill AODs");
}
//_________________________________________________________________
void AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms()
{
//Particle-Parton Correlation Analysis, fill histograms
- if(!GetInputAODBranch()){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - No input particles in AOD with name branch < %s > \n",GetInputAODName().Data());
- abort();
- }
- if(GetDebug() > 1){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Begin parton correlation analysis, fill histograms \n");
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - In particle branch aod entries %d\n", GetInputAODBranch()->GetEntriesFast());
+
+ if(!GetInputAODBranch())
+ {
+ AliFatal(Form("No input particles in AOD with name branch < %s >",GetInputAODName().Data()));
+ return; //coverity
}
+ AliDebug(1,"Begin parton correlation analysis, fill histograms");
+ AliDebug(1,Form("In particle branch aod entries %d", GetInputAODBranch()->GetEntriesFast()));
+
AliStack * stack = GetMCStack() ;
- if(!stack) {
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - No Stack available, STOP\n");
- abort();
+ if(!stack)
+ {
+ AliFatal("No Stack available, STOP");
}
//Loop on stored AOD particles
Int_t iawayparent = -1;
TObjArray * objarray = particle->GetObjArray(GetAODObjArrayName());
- if(!(objarray) || (objarray->GetEntriesFast() < 7) ) {
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Reference list with partons not filled, STOP analysis\n");
- abort();
+ if(!(objarray) || (objarray->GetEntriesFast() < 7) )
+ {
+ AliFatal("Reference list with partons not filled, STOP analysis");
+ return; // coverity
}
//Check and get indeces of mother and parton
}
}
- if(GetDebug() > 1) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - N reference partons %d; labels: mother %d, parent %d \n", objarray->GetEntriesFast(), imom, iparent);
-
+ AliDebug(1,Form("N reference partons %d; labels: mother %d, parent %d", objarray->GetEntriesFast(), imom, iparent));
- if(iparent < 0 || iparent > 8) {
- if(GetDebug() > 0 ) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Failed to find appropriate parton, index %d", iparent);
+ if(iparent < 0 || iparent > 8)
+ {
+ AliWarning(Form("Failed to find appropriate parton, index %d", iparent));
continue ;
}
fhDeltaPtNearParton->Fill(ptTrigg,ptTrigg-ptNearParton);
fhPtRatNearParton->Fill(ptTrigg,ptNearParton/ptTrigg);
- if(iparent == 7) iawayparent =6;
- else if(iparent == 6) iawayparent =7;
- else{
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Parent parton is not final state, skip \n");
+ if (iparent == 7) iawayparent = 6;
+ else if(iparent == 6) iawayparent = 7;
+ else
+ {
+ AliWarning("Parent parton is not final state, skip");
continue;
}
}
- if(GetDebug() > 1) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - End fill histograms \n");
+ AliDebug(1,"End fill histograms");
}
Bool_t matched = IsTrackMatched(calo,GetReader()->GetInputEvent());
- if(GetDebug() > 2)
- printf("AliAnaPhoton::ClusterSelected() - Current Event %d; Before selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f\n",
+ AliDebug(2,Form("Current Event %d; Before selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
GetReader()->GetEventNumber(),
- ecluster,ptcluster, phicluster*TMath::RadToDeg(),etacluster);
+ ecluster,ptcluster, phicluster*TMath::RadToDeg(),etacluster));
fhClusterCutsE [1]->Fill( ecluster);
fhClusterCutsPt[1]->Fill(ptcluster);
//If too small or big energy, skip it
if(ecluster < GetMinEnergy() || ecluster > GetMaxEnergy() ) return kFALSE ;
- if(GetDebug() > 2) printf("\t Cluster %d Pass E Cut \n",calo->GetID());
+ AliDebug(2,Form("\t Cluster %d Pass E Cut",calo->GetID()));
fhClusterCutsE [2]->Fill( ecluster);
fhClusterCutsPt[2]->Fill(ptcluster);
Double_t tof = calo->GetTOF()*1e9;
if(tof < fTimeCutMin || tof > fTimeCutMax) return kFALSE;
- if(GetDebug() > 2) printf("\t Cluster %d Pass Time Cut \n",calo->GetID());
+ AliDebug(2,Form("\t Cluster %d Pass Time Cut",calo->GetID()));
fhClusterCutsE [3]->Fill( ecluster);
fhClusterCutsPt[3]->Fill(ptcluster);
//.......................................
if(calo->GetNCells() <= fNCellsCut && GetReader()->GetDataType() != AliCaloTrackReader::kMC) return kFALSE;
- if(GetDebug() > 2) printf("\t Cluster %d Pass NCell Cut \n",calo->GetID());
+ AliDebug(2,Form("\t Cluster %d Pass NCell Cut",calo->GetID()));
fhClusterCutsE [4]->Fill( ecluster);
fhClusterCutsPt[4]->Fill(ptcluster);
if(nMaxima < fNLMCutMin || nMaxima > fNLMCutMax) return kFALSE ;
- if(GetDebug() > 2) printf(" \t Cluster %d pass NLM %d of out of range \n",calo->GetID(), nMaxima);
+ AliDebug(2,Form("\t Cluster %d pass NLM %d of out of range",calo->GetID(), nMaxima));
fhClusterCutsE [5]->Fill( ecluster);
fhClusterCutsPt[5]->Fill(ptcluster);
if(! in ) return kFALSE ;
}
- if(GetDebug() > 2) printf("\t Fiducial cut passed \n");
+ AliDebug(2,Form("\t Fiducial cut passed"));
fhClusterCutsE [6]->Fill( ecluster);
fhClusterCutsPt[6]->Fill(ptcluster);
{
if(matched)
{
- if(GetDebug() > 2) printf("\t Reject track-matched clusters\n");
+ AliDebug(2,"\t Reject track-matched clusters");
return kFALSE ;
}
else
- if(GetDebug() > 2) printf(" Track-matching cut passed \n");
+ AliDebug(2,"\t Track-matching cut passed");
}// reject matched clusters
fhClusterCutsE [7]->Fill( ecluster);
{//In bad channel (PHOS cristal size 2.2x2.2 cm), EMCAL ( cell units )
return kFALSE ;
}
- else if(GetDebug() > 2) printf("\t Bad channel cut passed %4.2f > %2.2f \n",distBad, fMinDist);
+ else AliDebug(2,Form("\t Bad channel cut passed %4.2f > %2.2f",distBad, fMinDist));
fhClusterCutsE [8]->Fill( ecluster);
fhClusterCutsPt[8]->Fill(ptcluster);
- if(GetDebug() > 0)
- printf("AliAnaPhoton::ClusterSelected() Current Event %d; After selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f\n",
+ AliDebug(1,Form("Current Event %d; After selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
GetReader()->GetEventNumber(),
- ecluster, ptcluster,fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta());
+ ecluster, ptcluster,fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta()));
//All checks passed, cluster selected
return kTRUE;
primStack = stack->Particle(i) ;
if(!primStack)
{
- printf("AliAnaPhoton::FillAcceptanceHistograms() - ESD primaries pointer not available!!\n");
+ AliWarning("ESD primaries pointer not available!!");
continue;
}
primAOD = (AliAODMCParticle *) mcparticles->At(i);
if(!primAOD)
{
- printf("AliAnaPhoton::FillAcceptanceHistograms() - AOD primaries pointer not available!!\n");
+ AliWarning("AOD primaries pointer not available!!");
continue;
}
//Fraction of total energy due to the embedded signal
fraction/=clusterE;
- if(GetDebug() > 1 )
- printf("AliAnaPhoton::FillShowerShapeHistogram() - Energy fraction of embedded signal %2.3f, Energy %2.3f\n",fraction, clusterE);
+ AliDebug(1,Form("Energy fraction of embedded signal %2.3f, Energy %2.3f",fraction, clusterE));
fhEmbeddedSignalFractionEnergy->Fill(clusterE,fraction);
}
else
{
- printf("AliAnaPhoton::FillShowerShapeHistogram() - n overlaps = %d!!\n", noverlaps);
+ AliWarning(Form("n overlaps = %d!!", noverlaps));
}
}//No embedding
}
else
- printf("AliAnaPhoton::FillTrackMatchingResidualHistograms() - Residual OK but (dR, dZ)= (%2.4f,%2.4f) no track associated WHAT? \n", dR,dZ);
-
-
+ AliWarning(Form("Residual OK but (dR, dZ)= (%2.4f,%2.4f) no track associated WHAT?", dR,dZ));
if(IsDataMC())
{
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaPhoton ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaPhoton ---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Calorimeter: %s\n",GetCalorimeterString().Data()) ;
+ snprintf(onePar,buffersize,"Calorimeter: %s;",GetCalorimeterString().Data()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster) \n",fMinDist) ;
+ snprintf(onePar,buffersize,"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",fMinDist) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation) \n",fMinDist2) ;
+ snprintf(onePar,buffersize,"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",fMinDist2) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study) \n",fMinDist3) ;
+ snprintf(onePar,buffersize,"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",fMinDist3) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"fRejectTrackMatch: %d\n",fRejectTrackMatch) ;
+ snprintf(onePar,buffersize,"fRejectTrackMatch: %d",fRejectTrackMatch) ;
parList+=onePar ;
//Get parameters set in base class.
//_______________________
void AliAnaPhoton::Init()
{
-
//Init
+
//Do some checks
- if(GetCalorimeter() == kPHOS && !GetReader()->IsPHOSSwitchedOn() && NewOutputAOD())
- {
- printf("AliAnaPhoton::Init() - !!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!\n");
- abort();
- }
- else if(GetCalorimeter() == kEMCAL && !GetReader()->IsEMCALSwitchedOn() && NewOutputAOD())
- {
- printf("AliAnaPhoton::Init() - !!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!\n");
- abort();
- }
+
+ if ( GetCalorimeter() == kPHOS && !GetReader()->IsPHOSSwitchedOn() && NewOutputAOD() )
+ AliFatal("!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
+ else if( GetCalorimeter() == kEMCAL && !GetReader()->IsEMCALSwitchedOn() && NewOutputAOD() )
+ AliFatal("!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
if(GetReader()->GetDataType() == AliCaloTrackReader::kMC) GetCaloPID()->SwitchOnBayesian();
if(!pl)
{
- Info("MakeAnalysisFillAOD","TObjArray with %s clusters is NULL!\n",GetCalorimeterString().Data());
+ AliWarning(Form("TObjArray with %s clusters is NULL!",GetCalorimeterString().Data()));
return;
}
// Init arrays, variables, get number of clusters
Int_t nCaloClusters = pl->GetEntriesFast();
- if(GetDebug() > 0) printf("AliAnaPhoton::MakeAnalysisFillAOD() - input %s cluster entries %d\n", GetCalorimeterString().Data(), nCaloClusters);
+ AliDebug(1,Form("Input %s cluster entries %d", GetCalorimeterString().Data(), nCaloClusters));
//----------------------------------------------------
// Fill AOD with PHOS/EMCAL AliAODPWG4Particle objects
tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),GetCalorimeter());
aodph.SetTag(tag);
- if(GetDebug() > 0)
- printf("AliAnaPhoton::MakeAnalysisFillAOD() - Origin of candidate, bit map %d\n",aodph.GetTag());
+ AliDebug(1,Form("Origin of candidate, bit map %d",aodph.GetTag()));
}//Work with stack also
//--------------------------------------------------------
aodph.SetIdentifiedParticleType(GetCaloPID()->GetIdentifiedParticleType(calo));
- if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillAOD() - PDG of identified particle %d\n",aodph.GetIdentifiedParticleType());
+ AliDebug(1,Form("PDG of identified particle %d",aodph.GetIdentifiedParticleType()));
//If cluster does not pass pid, not photon, skip it.
if(aodph.GetIdentifiedParticleType() != AliCaloPID::kPhoton) continue ;
GetCaloPID()->SetPIDBits(calo,&aodph, GetCaloUtils(),GetReader()->GetInputEvent());
- if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillAOD() - PID Bits set \n");
+ AliDebug(1,"PID Bits set");
}
- if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillAOD() - Photon selection cuts passed: pT %3.2f, pdg %d\n",
- aodph.Pt(), aodph.GetIdentifiedParticleType());
+ AliDebug(1,Form("Photon selection cuts passed: pT %3.2f, pdg %d",aodph.Pt(),aodph.GetIdentifiedParticleType()));
fhClusterCutsE [9]->Fill(calo->E());
fhClusterCutsPt[9]->Fill(fMomentum.Pt());
}//loop
- if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillAOD() End fill AODs, with %d entries \n",GetOutputAODBranch()->GetEntriesFast());
+ AliDebug(1,Form("End fill AODs, with %d entries",GetOutputAODBranch()->GetEntriesFast()));
}
//----------------------------------
//Loop on stored AOD photons
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0) printf("AliAnaPhoton::MakeAnalysisFillHistograms() - aod branch entries %d\n", naod);
+ AliDebug(1,Form("AOD branch entries %d", naod));
Float_t cen = GetEventCentrality();
// printf("++++++++++ GetEventCentrality() %f\n",cen);
AliAODPWG4Particle* ph = (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));
Int_t pdg = ph->GetIdentifiedParticleType();
- if(GetDebug() > 3)
- printf("AliAnaPhoton::MakeAnalysisFillHistograms() - PDG %d, MC TAG %d, Calorimeter <%d>\n",
- ph->GetIdentifiedParticleType(),ph->GetTag(), ph->GetDetectorTag()) ;
+ AliDebug(2,Form("PDG %d, MC TAG %d, Calorimeter <%d>",ph->GetIdentifiedParticleType(),ph->GetTag(), ph->GetDetectorTag())) ;
//If PID used, fill histos with photons in Calorimeter GetCalorimeter()
if(IsCaloPIDOn() && pdg != AliCaloPID::kPhoton) continue;
if(((Int_t) ph->GetDetectorTag()) != GetCalorimeter()) continue;
- if(GetDebug() > 2)
- printf("AliAnaPhoton::MakeAnalysisFillHistograms() - ID Photon: pt %f, phi %f, eta %f\n", ph->Pt(),ph->Phi(),ph->Eta()) ;
+ AliDebug(2,Form("ID Photon: pt %f, phi %f, eta %f", ph->Pt(),ph->Phi(),ph->Eta())) ;
//................................
//Fill photon histograms
//Play with the MC data if available
if(IsDataMC())
{
- if(GetDebug()>0)
- {
- if(GetReader()->ReadStack() && !GetMCStack())
- {
- printf("AliAnaPhoton::MakeAnalysisFillHistograms() - Stack not available, is the MC handler called?\n");
- }
- else if(GetReader()->ReadAODMCParticles() && !GetReader()->GetAODMCParticles())
- {
- printf("AliAnaPhoton::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n");
- }
- }
-
//....................................................................
// Access MC information in stack if requested, check that it exists.
- Int_t label =ph->GetLabel();
+ Int_t label = ph->GetLabel();
if(label < 0)
{
- if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillHistograms() *** bad label ***: label %d \n", label);
+ AliDebug(1,Form("*** bad label ***: label %d", label));
continue;
}
Float_t ptprim = 0;
Bool_t ok = kFALSE;
fPrimaryMom = GetMCAnalysisUtils()->GetMother(label,GetReader(),ok);
+
if(ok)
{
eprim = fPrimaryMom.Energy();
ClassImp(AliAnaPhotonConvInCalo)
-//________________________________________
+//________________________________________________
AliAnaPhotonConvInCalo::AliAnaPhotonConvInCalo() :
AliAnaCaloTrackCorrBaseClass(),
fRemoveConvertedPair(kFALSE),
}
-//_________________________________________________
+//_____________________________________________________
TObjString * AliAnaPhotonConvInCalo::GetAnalysisCuts()
{
//Save parameters used for analysis
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaPhotonConvInCalo---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaPhotonConvInCalo---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Conversion Selection: fConvAsymCut %1.2f, fConvDEtaCut %1.2f fConvDPhiCut (%1.2f,%1.2f)\n",
+ snprintf(onePar,buffersize,"Conversion Selection: fConvAsymCut %1.2f, fConvDEtaCut %1.2f fConvDPhiCut (%1.2f,%1.2f)",
fConvAsymCut, fConvDEtaCut, fConvDPhiMinCut, fConvDPhiMaxCut) ;
parList+=onePar ;
return new TObjString(parList) ;
}
-//___________________________________________________
+//_______________________________________________________
TList * AliAnaPhotonConvInCalo::GetCreateOutputObjects()
-{
- // Create histograms to be saved in output file and
+{
+ // Create histograms to be saved in output file and
// store them in outputContainer
- TList * outputContainer = new TList() ;
- outputContainer->SetName("PhotonConvInCaloHistos") ;
-
- Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
- Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
- Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+ TList * outputContainer = new TList() ;
+ outputContainer->SetName("PhotonConvInCaloHistos") ;
- fhPtPhotonConv = new TH1F("hPtPhotonConv","Number of #gamma over calorimeter, conversion",nptbins,ptmin,ptmax);
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+
+ fhPtPhotonConv = new TH1F("hPtPhotonConv","Number of #gamma over calorimeter, conversion",nptbins,ptmin,ptmax);
fhPtPhotonConv->SetYTitle("N");
fhPtPhotonConv->SetXTitle("p_{T #gamma}(GeV/c)");
- outputContainer->Add(fhPtPhotonConv) ;
+ outputContainer->Add(fhPtPhotonConv) ;
fhEtaPhiPhotonConv = new TH2F
- ("hEtaPhiPhotonConv","#eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
+ ("hEtaPhiPhotonConv","#eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
fhEtaPhiPhotonConv->SetYTitle("#phi (rad)");
fhEtaPhiPhotonConv->SetXTitle("#eta");
outputContainer->Add(fhEtaPhiPhotonConv) ;
if(GetMinPt() < 0.5){
fhEtaPhi05PhotonConv = new TH2F
- ("hEtaPhi05PhotonConv","#eta vs #phi, E > 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
+ ("hEtaPhi05PhotonConv","#eta vs #phi, E > 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
fhEtaPhi05PhotonConv->SetYTitle("#phi (rad)");
fhEtaPhi05PhotonConv->SetXTitle("#eta");
outputContainer->Add(fhEtaPhi05PhotonConv) ;
}
fhConvDeltaEta = new TH2F
- ("hConvDeltaEta","#Delta #eta of selected conversion pairs",100,0,fMassCut,netabins*2,-0.5,0.5);
+ ("hConvDeltaEta","#Delta #eta of selected conversion pairs",100,0,fMassCut,netabins*2,-0.5,0.5);
fhConvDeltaEta->SetYTitle("#Delta #eta");
fhConvDeltaEta->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaEta) ;
fhConvDeltaPhi = new TH2F
- ("hConvDeltaPhi","#Delta #phi of selected conversion pairs",100,0,fMassCut,nphibins*2,-0.5,0.5);
+ ("hConvDeltaPhi","#Delta #phi of selected conversion pairs",100,0,fMassCut,nphibins*2,-0.5,0.5);
fhConvDeltaPhi->SetYTitle("#Delta #phi");
fhConvDeltaPhi->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaPhi) ;
fhConvDeltaEtaPhi = new TH2F
- ("hConvDeltaEtaPhi","#Delta #eta vs #Delta #phi of selected conversion pairs",netabins,-0.5,0.5,nphibins,-0.5,0.5);
+ ("hConvDeltaEtaPhi","#Delta #eta vs #Delta #phi of selected conversion pairs",netabins,-0.5,0.5,nphibins,-0.5,0.5);
fhConvDeltaEtaPhi->SetYTitle("#Delta #phi");
fhConvDeltaEtaPhi->SetXTitle("#Delta #eta");
outputContainer->Add(fhConvDeltaEtaPhi) ;
fhConvAsym = new TH2F
- ("hConvAsym","Asymmetry of selected conversion pairs",100,0,fMassCut,100,0,1);
+ ("hConvAsym","Asymmetry of selected conversion pairs",100,0,fMassCut,100,0,1);
fhConvAsym->SetYTitle("Asymmetry");
fhConvAsym->SetXTitle("Pair Mass (GeV/c^2)");
- outputContainer->Add(fhConvAsym) ;
+ outputContainer->Add(fhConvAsym) ;
fhConvPt = new TH2F
- ("hConvPt","p_{T} of selected conversion pairs",100,0,fMassCut,100,0.,10.);
+ ("hConvPt","p_{T} of selected conversion pairs",100,0,fMassCut,100,0.,10.);
fhConvPt->SetYTitle("Pair p_{T} (GeV/c)");
fhConvPt->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvPt) ;
fhConvDistEta = new TH2F
- ("hConvDistEta","distance to conversion vertex",100,-0.7,0.7,100,0.,5.);
+ ("hConvDistEta","distance to conversion vertex",100,-0.7,0.7,100,0.,5.);
fhConvDistEta->SetXTitle("#eta");
fhConvDistEta->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEta) ;
fhConvDistEn = new TH2F
- ("hConvDistEn","distance to conversion vertex",nptbins,ptmin,ptmax,100,0.,5.);
+ ("hConvDistEn","distance to conversion vertex",nptbins,ptmin,ptmax,100,0.,5.);
fhConvDistEn->SetXTitle("E (GeV)");
fhConvDistEn->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEn) ;
fhConvDistMass = new TH2F
- ("hConvDistMass","distance to conversion vertex",100,0,fMassCut,100,0.,5.);
+ ("hConvDistMass","distance to conversion vertex",100,0,fMassCut,100,0.,5.);
fhConvDistMass->SetXTitle("m (GeV/c^2)");
fhConvDistMass->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistMass) ;
fhConvDistEtaCutEta = new TH2F
- ("hConvDistEtaCutEta","distance to conversion vertex, dEta < 0.05",100,-0.7,0.7,100,0.,5.);
+ ("hConvDistEtaCutEta","distance to conversion vertex, dEta < 0.05",100,-0.7,0.7,100,0.,5.);
fhConvDistEtaCutEta->SetXTitle("#eta");
fhConvDistEtaCutEta->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEtaCutEta) ;
fhConvDistEnCutEta = new TH2F
- ("hConvDistEnCutEta","distance to conversion vertex, dEta < 0.05",nptbins,ptmin,ptmax,100,0.,5.);
+ ("hConvDistEnCutEta","distance to conversion vertex, dEta < 0.05",nptbins,ptmin,ptmax,100,0.,5.);
fhConvDistEnCutEta->SetXTitle("E (GeV)");
fhConvDistEnCutEta->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEnCutEta) ;
fhConvDistMassCutEta = new TH2F
- ("hConvDistMassCutEta","distance to conversion vertex, dEta < 0.05",100,0,fMassCut,100,0.,5.);
+ ("hConvDistMassCutEta","distance to conversion vertex, dEta < 0.05",100,0,fMassCut,100,0.,5.);
fhConvDistMassCutEta->SetXTitle("m (GeV/c^2)");
fhConvDistMassCutEta->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistMassCutEta) ;
fhConvDistEtaCutMass = new TH2F
- ("hConvDistEtaCutMass","distance to conversion vertex, dEta < 0.05, m < 10 MeV",100,-0.7,0.7,100,0.,5.);
+ ("hConvDistEtaCutMass","distance to conversion vertex, dEta < 0.05, m < 10 MeV",100,-0.7,0.7,100,0.,5.);
fhConvDistEtaCutMass->SetXTitle("#eta");
fhConvDistEtaCutMass->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEtaCutMass) ;
fhConvDistEnCutMass = new TH2F
- ("hConvDistEnCutMass","distance to conversion vertex, dEta < 0.05, m < 10 MeV",nptbins,ptmin,ptmax,100,0.,5.);
+ ("hConvDistEnCutMass","distance to conversion vertex, dEta < 0.05, m < 10 MeV",nptbins,ptmin,ptmax,100,0.,5.);
fhConvDistEnCutMass->SetXTitle("E (GeV)");
fhConvDistEnCutMass->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEnCutMass) ;
fhConvDistEtaCutAsy = new TH2F
- ("hConvDistEtaCutAsy","distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",100,-0.7,0.7,100,0.,5.);
+ ("hConvDistEtaCutAsy","distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",100,-0.7,0.7,100,0.,5.);
fhConvDistEtaCutAsy->SetXTitle("#eta");
fhConvDistEtaCutAsy->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEtaCutAsy) ;
fhConvDistEnCutAsy = new TH2F
- ("hConvDistEnCutAsy","distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",nptbins,ptmin,ptmax,100,0.,5.);
+ ("hConvDistEnCutAsy","distance to conversion vertex, dEta < 0.05, m < 10 MeV, A < 0.1",nptbins,ptmin,ptmax,100,0.,5.);
fhConvDistEnCutAsy->SetXTitle("E (GeV)");
fhConvDistEnCutAsy->SetYTitle(" distance (m)");
outputContainer->Add(fhConvDistEnCutAsy) ;
- if(IsDataMC()){
-
- fhPtConversionTagged = new TH1F("hPtMCConversionTagged","Number of converted #gamma over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
+ if(IsDataMC())
+ {
+ fhPtConversionTagged = new TH1F("hPtMCConversionTagged","Number of converted #gamma over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
fhPtConversionTagged->SetYTitle("N");
fhPtConversionTagged->SetXTitle("p_{T #gamma}(GeV/c)");
- outputContainer->Add(fhPtConversionTagged) ;
+ outputContainer->Add(fhPtConversionTagged) ;
- fhPtAntiNeutronTagged = new TH1F("hPtMCAntiNeutronTagged","Number of AntiNeutron id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
+ fhPtAntiNeutronTagged = new TH1F("hPtMCAntiNeutronTagged","Number of AntiNeutron id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
fhPtAntiNeutronTagged->SetYTitle("N");
fhPtAntiNeutronTagged->SetXTitle("p_{T #gamma}(GeV/c)");
- outputContainer->Add(fhPtAntiNeutronTagged) ;
+ outputContainer->Add(fhPtAntiNeutronTagged) ;
- fhPtAntiProtonTagged = new TH1F("hPtMCAntiProtonTagged","Number of AntiProton id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
+ fhPtAntiProtonTagged = new TH1F("hPtMCAntiProtonTagged","Number of AntiProton id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
fhPtAntiProtonTagged->SetYTitle("N");
fhPtAntiProtonTagged->SetXTitle("p_{T #gamma}(GeV/c)");
- outputContainer->Add(fhPtAntiProtonTagged) ;
+ outputContainer->Add(fhPtAntiProtonTagged) ;
- fhPtUnknownTagged = new TH1F("hPtMCUnknownTagged","Number of Unknown id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
+ fhPtUnknownTagged = new TH1F("hPtMCUnknownTagged","Number of Unknown id as Photon over calorimeter, tagged as converted",nptbins,ptmin,ptmax);
fhPtUnknownTagged->SetYTitle("N");
fhPtUnknownTagged->SetXTitle("p_{T #gamma}(GeV/c)");
- outputContainer->Add(fhPtUnknownTagged) ;
+ outputContainer->Add(fhPtUnknownTagged) ;
fhConvDeltaEtaMCConversion = new TH2F
- ("hConvDeltaEtaMCConversion","#Delta #eta of selected conversion pairs from real conversions",100,0,fMassCut,netabins,-0.5,0.5);
+ ("hConvDeltaEtaMCConversion","#Delta #eta of selected conversion pairs from real conversions",100,0,fMassCut,netabins,-0.5,0.5);
fhConvDeltaEtaMCConversion->SetYTitle("#Delta #eta");
fhConvDeltaEtaMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaEtaMCConversion) ;
fhConvDeltaPhiMCConversion = new TH2F
- ("hConvDeltaPhiMCConversion","#Delta #phi of selected conversion pairs from real conversions",100,0,fMassCut,nphibins,-0.5,0.5);
+ ("hConvDeltaPhiMCConversion","#Delta #phi of selected conversion pairs from real conversions",100,0,fMassCut,nphibins,-0.5,0.5);
fhConvDeltaPhiMCConversion->SetYTitle("#Delta #phi");
fhConvDeltaPhiMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaPhiMCConversion) ;
fhConvDeltaEtaPhiMCConversion = new TH2F
- ("hConvDeltaEtaPhiMCConversion","#Delta #eta vs #Delta #phi of selected conversion pairs, from real conversions",netabins,-0.5,0.5,nphibins,-0.5,0.5);
+ ("hConvDeltaEtaPhiMCConversion","#Delta #eta vs #Delta #phi of selected conversion pairs, from real conversions",netabins,-0.5,0.5,nphibins,-0.5,0.5);
fhConvDeltaEtaPhiMCConversion->SetYTitle("#Delta #phi");
fhConvDeltaEtaPhiMCConversion->SetXTitle("#Delta #eta");
outputContainer->Add(fhConvDeltaEtaPhiMCConversion) ;
fhConvAsymMCConversion = new TH2F
- ("hConvAsymMCConversion","Asymmetry of selected conversion pairs from real conversions",100,0,fMassCut,100,0,1);
+ ("hConvAsymMCConversion","Asymmetry of selected conversion pairs from real conversions",100,0,fMassCut,100,0,1);
fhConvAsymMCConversion->SetYTitle("Asymmetry");
fhConvAsymMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvAsymMCConversion) ;
fhConvPtMCConversion = new TH2F
- ("hConvPtMCConversion","p_{T} of selected conversion pairs from real conversions",100,0,fMassCut,100,0.,10.);
+ ("hConvPtMCConversion","p_{T} of selected conversion pairs from real conversions",100,0,fMassCut,100,0.,10.);
fhConvPtMCConversion->SetYTitle("Pair p_{T} (GeV/c)");
fhConvPtMCConversion->SetXTitle("Pair Mass (GeV/c^2)");
- outputContainer->Add(fhConvPtMCConversion) ;
+ outputContainer->Add(fhConvPtMCConversion) ;
fhConvDispersionMCConversion = new TH2F
- ("hConvDispersionMCConversion","p_{T} of selected conversion pairs from real conversions",100,0.,1.,100,0.,1.);
+ ("hConvDispersionMCConversion","p_{T} of selected conversion pairs from real conversions",100,0.,1.,100,0.,1.);
fhConvDispersionMCConversion->SetYTitle("Dispersion cluster 1");
fhConvDispersionMCConversion->SetXTitle("Dispersion cluster 2");
- outputContainer->Add(fhConvDispersionMCConversion) ;
+ outputContainer->Add(fhConvDispersionMCConversion) ;
fhConvM02MCConversion = new TH2F
- ("hConvM02MCConversion","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
+ ("hConvM02MCConversion","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
fhConvM02MCConversion->SetYTitle("M02 cluster 1");
fhConvM02MCConversion->SetXTitle("M02 cluster 2");
- outputContainer->Add(fhConvM02MCConversion) ;
+ outputContainer->Add(fhConvM02MCConversion) ;
fhConvDeltaEtaMCAntiNeutron = new TH2F
- ("hConvDeltaEtaMCAntiNeutron","#Delta #eta of selected conversion pairs from anti-neutrons",100,0,fMassCut,netabins,-0.5,0.5);
+ ("hConvDeltaEtaMCAntiNeutron","#Delta #eta of selected conversion pairs from anti-neutrons",100,0,fMassCut,netabins,-0.5,0.5);
fhConvDeltaEtaMCAntiNeutron->SetYTitle("#Delta #eta");
fhConvDeltaEtaMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaEtaMCAntiNeutron) ;
fhConvDeltaPhiMCAntiNeutron = new TH2F
- ("hConvDeltaPhiMCAntiNeutron","#Delta #phi of selected conversion pairs from anti-neutrons",100,0,fMassCut,nphibins,-0.5,0.5);
+ ("hConvDeltaPhiMCAntiNeutron","#Delta #phi of selected conversion pairs from anti-neutrons",100,0,fMassCut,nphibins,-0.5,0.5);
fhConvDeltaPhiMCAntiNeutron->SetYTitle("#Delta #phi");
fhConvDeltaPhiMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaPhiMCAntiNeutron) ;
fhConvDeltaEtaPhiMCAntiNeutron = new TH2F
- ("hConvDeltaEtaPhiMCAntiNeutron","#Delta #eta vs #Delta #phi of selected conversion pairs from anti-neutrons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
+ ("hConvDeltaEtaPhiMCAntiNeutron","#Delta #eta vs #Delta #phi of selected conversion pairs from anti-neutrons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
fhConvDeltaEtaPhiMCAntiNeutron->SetYTitle("#Delta #phi");
fhConvDeltaEtaPhiMCAntiNeutron->SetXTitle("#Delta #eta");
- outputContainer->Add(fhConvDeltaEtaPhiMCAntiNeutron) ;
+ outputContainer->Add(fhConvDeltaEtaPhiMCAntiNeutron) ;
fhConvAsymMCAntiNeutron = new TH2F
- ("hConvAsymMCAntiNeutron","Asymmetry of selected conversion pairs from anti-neutrons",100,0,fMassCut,100,0,1);
+ ("hConvAsymMCAntiNeutron","Asymmetry of selected conversion pairs from anti-neutrons",100,0,fMassCut,100,0,1);
fhConvAsymMCAntiNeutron->SetYTitle("Asymmetry");
fhConvAsymMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvAsymMCAntiNeutron) ;
fhConvPtMCAntiNeutron = new TH2F
- ("hConvPtMCAntiNeutron","p_{T} of selected conversion pairs from anti-neutrons",100,0,fMassCut,100,0.,10.);
+ ("hConvPtMCAntiNeutron","p_{T} of selected conversion pairs from anti-neutrons",100,0,fMassCut,100,0.,10.);
fhConvPtMCAntiNeutron->SetYTitle("Pair p_{T} (GeV/c)");
fhConvPtMCAntiNeutron->SetXTitle("Pair Mass (GeV/c^2)");
- outputContainer->Add(fhConvPtMCAntiNeutron) ;
+ outputContainer->Add(fhConvPtMCAntiNeutron) ;
fhConvDispersionMCAntiNeutron = new TH2F
- ("hConvDispersionMCAntiNeutron","p_{T} of selected conversion pairs from anti-neutrons",100,0.,1.,100,0.,1.);
+ ("hConvDispersionMCAntiNeutron","p_{T} of selected conversion pairs from anti-neutrons",100,0.,1.,100,0.,1.);
fhConvDispersionMCAntiNeutron->SetYTitle("Dispersion cluster 1");
fhConvDispersionMCAntiNeutron->SetXTitle("Dispersion cluster 2");
- outputContainer->Add(fhConvDispersionMCAntiNeutron) ;
+ outputContainer->Add(fhConvDispersionMCAntiNeutron) ;
fhConvM02MCAntiNeutron = new TH2F
- ("hConvM02MCAntiNeutron","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
+ ("hConvM02MCAntiNeutron","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
fhConvM02MCAntiNeutron->SetYTitle("M02 cluster 1");
fhConvM02MCAntiNeutron->SetXTitle("M02 cluster 2");
- outputContainer->Add(fhConvM02MCAntiNeutron) ;
+ outputContainer->Add(fhConvM02MCAntiNeutron) ;
fhConvDeltaEtaMCAntiProton = new TH2F
- ("hConvDeltaEtaMCAntiProton","#Delta #eta of selected conversion pairs from anti-protons",100,0,fMassCut,netabins,-0.5,0.5);
+ ("hConvDeltaEtaMCAntiProton","#Delta #eta of selected conversion pairs from anti-protons",100,0,fMassCut,netabins,-0.5,0.5);
fhConvDeltaEtaMCAntiProton->SetYTitle("#Delta #eta");
fhConvDeltaEtaMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaEtaMCAntiProton) ;
fhConvDeltaPhiMCAntiProton = new TH2F
- ("hConvDeltaPhiMCAntiProton","#Delta #phi of selected conversion pairs from anti-protons",100,0,fMassCut,nphibins,-0.5,0.5);
+ ("hConvDeltaPhiMCAntiProton","#Delta #phi of selected conversion pairs from anti-protons",100,0,fMassCut,nphibins,-0.5,0.5);
fhConvDeltaPhiMCAntiProton->SetYTitle("#Delta #phi");
fhConvDeltaPhiMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaPhiMCAntiProton) ;
fhConvDeltaEtaPhiMCAntiProton = new TH2F
- ("hConvDeltaEtaPhiMCAntiProton","#Delta #eta vs #Delta #phi of selected conversion pairs from anti-protons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
+ ("hConvDeltaEtaPhiMCAntiProton","#Delta #eta vs #Delta #phi of selected conversion pairs from anti-protons",netabins,-0.5,0.5,nphibins,-0.5,0.5);
fhConvDeltaEtaPhiMCAntiProton->SetYTitle("#Delta #phi");
fhConvDeltaEtaPhiMCAntiProton->SetXTitle("#Delta #eta");
- outputContainer->Add(fhConvDeltaEtaPhiMCAntiProton) ;
+ outputContainer->Add(fhConvDeltaEtaPhiMCAntiProton) ;
fhConvAsymMCAntiProton = new TH2F
- ("hConvAsymMCAntiProton","Asymmetry of selected conversion pairs from anti-protons",100,0,fMassCut,100,0,1);
+ ("hConvAsymMCAntiProton","Asymmetry of selected conversion pairs from anti-protons",100,0,fMassCut,100,0,1);
fhConvAsymMCAntiProton->SetYTitle("Asymmetry");
fhConvAsymMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvAsymMCAntiProton) ;
fhConvPtMCAntiProton = new TH2F
- ("hConvPtMCAntiProton","p_{T} of selected conversion pairs from anti-protons",100,0,fMassCut,100,0.,10.);
+ ("hConvPtMCAntiProton","p_{T} of selected conversion pairs from anti-protons",100,0,fMassCut,100,0.,10.);
fhConvPtMCAntiProton->SetYTitle("Pair p_{T} (GeV/c)");
fhConvPtMCAntiProton->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvPtMCAntiProton) ;
fhConvDispersionMCAntiProton = new TH2F
- ("hConvDispersionMCAntiProton","p_{T} of selected conversion pairs from anti-protons",100,0.,1.,100,0.,1.);
+ ("hConvDispersionMCAntiProton","p_{T} of selected conversion pairs from anti-protons",100,0.,1.,100,0.,1.);
fhConvDispersionMCAntiProton->SetYTitle("Dispersion cluster 1");
fhConvDispersionMCAntiProton->SetXTitle("Dispersion cluster 2");
- outputContainer->Add(fhConvDispersionMCAntiProton) ;
+ outputContainer->Add(fhConvDispersionMCAntiProton) ;
fhConvM02MCAntiProton = new TH2F
- ("hConvM02MCAntiProton","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
+ ("hConvM02MCAntiProton","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
fhConvM02MCAntiProton->SetYTitle("M02 cluster 1");
fhConvM02MCAntiProton->SetXTitle("M02 cluster 2");
- outputContainer->Add(fhConvM02MCAntiProton) ;
+ outputContainer->Add(fhConvM02MCAntiProton) ;
fhConvDeltaEtaMCString = new TH2F
- ("hConvDeltaEtaMCString","#Delta #eta of selected conversion pairs from string",100,0,fMassCut,netabins,-0.5,0.5);
+ ("hConvDeltaEtaMCString","#Delta #eta of selected conversion pairs from string",100,0,fMassCut,netabins,-0.5,0.5);
fhConvDeltaEtaMCString->SetYTitle("#Delta #eta");
fhConvDeltaEtaMCString->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaEtaMCString) ;
fhConvDeltaPhiMCString = new TH2F
- ("hConvDeltaPhiMCString","#Delta #phi of selected conversion pairs from string",100,0,fMassCut,nphibins,-0.5,0.5);
+ ("hConvDeltaPhiMCString","#Delta #phi of selected conversion pairs from string",100,0,fMassCut,nphibins,-0.5,0.5);
fhConvDeltaPhiMCString->SetYTitle("#Delta #phi");
fhConvDeltaPhiMCString->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvDeltaPhiMCString) ;
fhConvDeltaEtaPhiMCString = new TH2F
- ("hConvDeltaEtaPhiMCString","#Delta #eta vs #Delta #phi of selected conversion pairs from string",netabins,-0.5,0.5,nphibins,-0.5,0.5);
+ ("hConvDeltaEtaPhiMCString","#Delta #eta vs #Delta #phi of selected conversion pairs from string",netabins,-0.5,0.5,nphibins,-0.5,0.5);
fhConvDeltaEtaPhiMCString->SetYTitle("#Delta #phi");
fhConvDeltaEtaPhiMCString->SetXTitle("#Delta #eta");
- outputContainer->Add(fhConvDeltaEtaPhiMCString) ;
+ outputContainer->Add(fhConvDeltaEtaPhiMCString) ;
fhConvAsymMCString = new TH2F
- ("hConvAsymMCString","Asymmetry of selected conversion pairs from string",100,0,fMassCut,100,0,1);
+ ("hConvAsymMCString","Asymmetry of selected conversion pairs from string",100,0,fMassCut,100,0,1);
fhConvAsymMCString->SetYTitle("Asymmetry");
fhConvAsymMCString->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvAsymMCString) ;
fhConvPtMCString = new TH2F
- ("hConvPtMCString","p_{T} of selected conversion pairs from string",100,0,fMassCut,100,0.,10.);
+ ("hConvPtMCString","p_{T} of selected conversion pairs from string",100,0,fMassCut,100,0.,10.);
fhConvPtMCString->SetYTitle("Pair p_{T} (GeV/c)");
fhConvPtMCString->SetXTitle("Pair Mass (GeV/c^2)");
outputContainer->Add(fhConvPtMCString) ;
fhConvDispersionMCString = new TH2F
- ("hConvDispersionMCString","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
+ ("hConvDispersionMCString","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
fhConvDispersionMCString->SetYTitle("Dispersion cluster 1");
fhConvDispersionMCString->SetXTitle("Dispersion cluster 2");
- outputContainer->Add(fhConvDispersionMCString) ;
+ outputContainer->Add(fhConvDispersionMCString) ;
fhConvM02MCString = new TH2F
- ("hConvM02MCString","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
+ ("hConvM02MCString","p_{T} of selected conversion pairs from string",100,0.,1.,100,0.,1.);
fhConvM02MCString->SetYTitle("M02 cluster 1");
fhConvM02MCString->SetXTitle("M02 cluster 2");
- outputContainer->Add(fhConvM02MCString) ;
+ outputContainer->Add(fhConvM02MCString) ;
fhConvDistMCConversion = new TH2F
- ("hConvDistMCConversion","calculated conversion distance vs real vertes for MC conversion",100,0.,5.,100,0.,5.);
+ ("hConvDistMCConversion","calculated conversion distance vs real vertes for MC conversion",100,0.,5.,100,0.,5.);
fhConvDistMCConversion->SetYTitle("distance");
fhConvDistMCConversion->SetXTitle("vertex R");
- outputContainer->Add(fhConvDistMCConversion) ;
+ outputContainer->Add(fhConvDistMCConversion) ;
fhConvDistMCConversionCuts = new TH2F
- ("hConvDistMCConversionCuts","calculated conversion distance vs real vertes for MC conversion, deta < 0.05, m < 10 MeV, asym < 0.1",100,0.,5.,100,0.,5.);
+ ("hConvDistMCConversionCuts","calculated conversion distance vs real vertes for MC conversion, deta < 0.05, m < 10 MeV, asym < 0.1",100,0.,5.,100,0.,5.);
fhConvDistMCConversionCuts->SetYTitle("distance");
fhConvDistMCConversionCuts->SetXTitle("vertex R");
- outputContainer->Add(fhConvDistMCConversionCuts) ;
-
+ outputContainer->Add(fhConvDistMCConversionCuts) ;
+
}
return outputContainer ;
-
+
}
-//_______________________________________
+//___________________________________________
void AliAnaPhotonConvInCalo::InitParameters()
{
-
//Initialize the parameters of the analysis.
AddToHistogramsName("AnaPhotonConvInCalo_");
}
-//_____________________________________________
-void AliAnaPhotonConvInCalo::MakeAnalysisFillAOD()
+//_________________________________________________
+void AliAnaPhotonConvInCalo::MakeAnalysisFillAOD()
{
//Do conversion photon analysis and fill aods
//Loop on stored AOD photons
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0) printf("AliAnaPhotonConvInCalo::MakeAnalysisFillAOD() - aod branch entries %d\n", naod);
+ AliDebug(1,Form("AOD branch entries %d", naod));
//List to be used in conversion analysis, to tag the cluster as candidate for conversion
Bool_t * indexConverted = new Bool_t[naod];
for (Int_t i = 0; i < naod; i++) indexConverted[i] = kFALSE;
-
- for(Int_t iaod = 0; iaod < naod ; iaod++){
+
+ for(Int_t iaod = 0; iaod < naod ; iaod++)
+ {
AliAODPWG4Particle* calo = (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));
Bool_t bConverted = kFALSE;
//Get mass of pair, if small, take this pair.
Float_t pairM = calo->GetPairMass(calo2);
//printf("\t both in calo, mass %f, cut %f\n",pairM,fMassCut);
- if(pairM < fMassCut){
+ if(pairM < fMassCut)
+ {
calo->SetTagged(kFALSE);
id2 = calo2->GetCaloLabel(0);
Float_t asymmetry = TMath::Abs(calo->E()-calo2->E())/(calo->E()+calo2->E());
Float_t dPhi = (calo->Momentum())->Phi()-(calo2->Momentum())->Phi();
- Float_t dEta = (calo->Momentum())->Eta()-(calo2->Momentum())->Eta();
+ Float_t dEta = (calo->Momentum())->Eta()-(calo2->Momentum())->Eta();
//...............................................
//Fill few histograms with kinematics of the pair
fhConvDeltaPhi ->Fill( pairM, dEta );
fhConvAsym ->Fill( pairM, asymmetry );
fhConvDeltaEtaPhi->Fill( dEta , dPhi );
- fhConvPt ->Fill( pairM, (calo->Momentum())->Pt()+(calo2->Momentum())->Pt());
+ fhConvPt ->Fill( pairM, (calo->Momentum())->Pt()+(calo2->Momentum())->Pt());
//Estimate conversion distance, T. Awes, M. Ivanov
- //Under the assumption that the pair has zero mass, and that each electron
- //of the pair has the same momentum, they will each have the same bend radius
- //given by R=p/(qB) = p / (300 B) with p in [MeV/c], B in [Tesla] and R in [m].
- //With nominal ALICE magnet current of 30kA B=0.5T, and so with E_cluster=p,
- //R = E/1.5 [cm]. Under these assumptions, the distance from the conversion
- //point to the MCEal can be related to the separation distance, L=2y, on the MCEal
- //as d = sqrt(R^2 -(R-y)^2) = sqrt(2Ry - y^2). And since R>>y we can write as
- //d = sqrt(E*L/1.5) where E is the cluster energy and L is the distance in cm between
+ //Under the assumption that the pair has zero mass, and that each electron
+ //of the pair has the same momentum, they will each have the same bend radius
+ //given by R=p/(qB) = p / (300 B) with p in [MeV/c], B in [Tesla] and R in [m].
+ //With nominal ALICE magnet current of 30kA B=0.5T, and so with E_cluster=p,
+ //R = E/1.5 [cm]. Under these assumptions, the distance from the conversion
+ //point to the MCEal can be related to the separation distance, L=2y, on the MCEal
+ //as d = sqrt(R^2 -(R-y)^2) = sqrt(2Ry - y^2). And since R>>y we can write as
+ //d = sqrt(E*L/1.5) where E is the cluster energy and L is the distance in cm between
//the clusters.
- TObjArray * clusters = 0;
+ TObjArray * clusters = 0;
if(calo->GetDetectorTag() == kEMCAL) clusters = GetEMCALClusters();
else clusters = GetPHOSClusters();
Int_t iclus = -1;
- AliVCluster *cluster1 = FindCluster(clusters,calo ->GetCaloLabel(0),iclus);
- AliVCluster *cluster2 = FindCluster(clusters,calo2->GetCaloLabel(0),iclus);
-
+ AliVCluster *cluster1 = FindCluster(clusters,calo ->GetCaloLabel(0),iclus);
+ AliVCluster *cluster2 = FindCluster(clusters,calo2->GetCaloLabel(0),iclus);
+
Float_t pos1[3];
- cluster1->GetPosition(pos1);
+ cluster1->GetPosition(pos1);
Float_t pos2[3];
- cluster2->GetPosition(pos2);
+ cluster2->GetPosition(pos2);
Float_t clustDist = TMath::Sqrt((pos1[0]-pos2[0])*(pos1[0]-pos2[0])+
(pos1[1]-pos2[1])*(pos1[1]-pos2[1])+
(pos1[2]-pos2[2])*(pos1[2]-pos2[2]));
Float_t convDist = TMath::Sqrt(calo->E() *clustDist*0.01/0.15);
Float_t convDist2 = TMath::Sqrt(calo2->E()*clustDist*0.01/0.15);
//printf("l = %f, e1 = %f, d1=%f, e2 = %f, d2=%f\n",clustDist,calo->E(),convDist,calo2->E(),convDist2);
- if(GetDebug() > 2)
- printf("AliAnaPhotonConvInCalo::MakeAnalysisFillAOD(): Pair with mass %2.3f < %2.3f, %1.2f < dPhi %2.2f < %2.2f, dEta %f < %2.2f, asymmetry %2.2f< %2.2f; \n cluster1 id %d, e %2.3f SM %d, eta %2.3f, phi %2.3f ; \n cluster2 id %d, e %2.3f, SM %d,eta %2.3f, phi %2.3f\n",
- pairM,fMassCut,fConvDPhiMinCut, dPhi, fConvDPhiMaxCut, dEta, fConvDEtaCut, asymmetry, fConvAsymCut,
- calo->GetCaloLabel(0),calo->E(),GetCaloUtils()->GetModuleNumber(calo,GetReader()->GetInputEvent()), calo->Eta(), calo->Phi(),
- id2, calo2->E(), GetCaloUtils()->GetModuleNumber(calo2,GetReader()->GetInputEvent()),calo2->Eta(), calo2->Phi());
+ AliDebug(2,Form("Pair with mass %2.3f < %2.3f, %1.2f < dPhi %2.2f < %2.2f, dEta %f < %2.2f, asymmetry %2.2f< %2.2f; \n cluster1 id %d, e %2.3f SM %d, eta %2.3f, phi %2.3f ; \n cluster2 id %d, e %2.3f, SM %d,eta %2.3f, phi %2.3f",
+ pairM,fMassCut,fConvDPhiMinCut, dPhi, fConvDPhiMaxCut, dEta, fConvDEtaCut, asymmetry, fConvAsymCut,
+ calo->GetCaloLabel(0),calo->E(),GetCaloUtils()->GetModuleNumber(calo,GetReader()->GetInputEvent()), calo->Eta(), calo->Phi(),
+ id2, calo2->E(), GetCaloUtils()->GetModuleNumber(calo2,GetReader()->GetInputEvent()),calo2->Eta(), calo2->Phi()));
fhConvDistEta ->Fill(calo ->Eta(),convDist );
fhConvDistEta ->Fill(calo2->Eta(),convDist2);
fhConvDistEn ->Fill(calo ->E(), convDist );
- fhConvDistEn ->Fill(calo2->E(), convDist2);
+ fhConvDistEn ->Fill(calo2->E(), convDist2);
fhConvDistMass->Fill(pairM, convDist );
//dEta cut
- if(dEta<0.05){
+ if(dEta<0.05)
+ {
fhConvDistEtaCutEta ->Fill(calo->Eta(), convDist );
fhConvDistEtaCutEta ->Fill(calo2->Eta(),convDist2);
fhConvDistEnCutEta ->Fill(calo->E(), convDist );
- fhConvDistEnCutEta ->Fill(calo2->E(), convDist2);
+ fhConvDistEnCutEta ->Fill(calo2->E(), convDist2);
fhConvDistMassCutEta->Fill(pairM, convDist );
//mass cut
- if(pairM<0.01){//10 MeV
+ if(pairM<0.01)
+ {//10 MeV
fhConvDistEtaCutMass ->Fill(calo ->Eta(), convDist );
fhConvDistEtaCutMass ->Fill(calo2->Eta(), convDist2);
fhConvDistEnCutMass ->Fill(calo ->E(), convDist );
- fhConvDistEnCutMass ->Fill(calo2->E(), convDist2);
+ fhConvDistEnCutMass ->Fill(calo2->E(), convDist2);
// asymmetry cut
- if(asymmetry<0.1){
+ if(asymmetry<0.1)
+ {
fhConvDistEtaCutAsy ->Fill(calo ->Eta(), convDist );
fhConvDistEtaCutAsy ->Fill(calo2->Eta(), convDist2);
fhConvDistEnCutAsy ->Fill(calo ->E(), convDist );
- fhConvDistEnCutAsy ->Fill(calo2->E(), convDist2);
+ fhConvDistEnCutAsy ->Fill(calo2->E(), convDist2);
}//asymmetry cut
- }//mass cut
+ }//mass cut
}//dEta cut
//...............................................
//Select pairs in a eta-phi window
- if(TMath::Abs(dEta) < fConvDEtaCut &&
+ if(TMath::Abs(dEta) < fConvDEtaCut &&
TMath::Abs(dPhi) < fConvDPhiMaxCut &&
- TMath::Abs(dPhi) > fConvDPhiMinCut &&
- asymmetry < fConvAsymCut ){
+ TMath::Abs(dPhi) > fConvDPhiMinCut &&
+ asymmetry < fConvAsymCut )
+ {
indexConverted[iaod] = kTRUE;
- indexConverted[jaod] = kTRUE;
- bConverted = kTRUE;
+ indexConverted[jaod] = kTRUE;
+ bConverted = kTRUE;
}
//printf("Accepted? %d\n",bConverted);
//...........................................
//Fill more histograms, simulated data
//FIXME, move all this to MakeAnalysisFillHistograms ...
- if(IsDataMC()){
-
+ if(IsDataMC())
+ {
//Check the origin of the pair, look for conversion, antinucleons or jet correlations (strings)
Int_t ancPDG = 0;
Int_t ancStatus = 0;
- Int_t ancLabel = GetMCAnalysisUtils()->CheckCommonAncestor(cluster1->GetLabel(), cluster2->GetLabel(),
+ Int_t ancLabel = GetMCAnalysisUtils()->CheckCommonAncestor(cluster1->GetLabel(), cluster2->GetLabel(),
GetReader(), ancPDG, ancStatus, fMomentum, fProdVertex);
// printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() - Common ancestor label %d, pdg %d, name %s, status %d; \n",
Int_t tag1 = calo ->GetTag();
Int_t tag2 = calo2->GetTag();
- if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCConversion)){
- if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCConversion) && (ancPDG==22 || TMath::Abs(ancPDG)==11) && ancLabel > -1){
+ if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCConversion))
+ {
+ if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCConversion) && (ancPDG==22 || TMath::Abs(ancPDG)==11) && ancLabel > -1)
+ {
fhConvDeltaEtaMCConversion ->Fill( pairM, dEta );
fhConvDeltaPhiMCConversion ->Fill( pairM, dPhi );
fhConvAsymMCConversion ->Fill( pairM, asymmetry );
fhConvDistMCConversion ->Fill( convDist , fProdVertex.Mag() );
fhConvDistMCConversion ->Fill( convDist2, fProdVertex.Mag() );
- if(dEta<0.05 && pairM<0.01 && asymmetry<0.1){
+ if(dEta<0.05 && pairM<0.01 && asymmetry<0.1)
+ {
fhConvDistMCConversionCuts->Fill( convDist , fProdVertex.Mag() );
fhConvDistMCConversionCuts->Fill( convDist2, fProdVertex.Mag() );
}
- }
+ }
}
- else if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCAntiNeutron)){
- if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCAntiNeutron) && ancPDG==-2112 && ancLabel > -1){
+ else if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCAntiNeutron))
+ {
+ if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCAntiNeutron) && ancPDG==-2112 && ancLabel > -1)
+ {
fhConvDeltaEtaMCAntiNeutron ->Fill( pairM, dEta );
fhConvDeltaPhiMCAntiNeutron ->Fill( pairM, dPhi );
fhConvAsymMCAntiNeutron ->Fill( pairM, asymmetry );
fhConvM02MCAntiNeutron ->Fill( cluster1->GetM02(), cluster2->GetM02());
}
}
- else if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCAntiProton)){
- if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCAntiProton) && ancPDG==-2212 && ancLabel > -1){
+ else if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCAntiProton))
+ {
+ if(GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCAntiProton) && ancPDG==-2212 && ancLabel > -1)
+ {
fhConvDeltaEtaMCAntiProton ->Fill( pairM, dEta );
fhConvDeltaPhiMCAntiProton ->Fill( pairM, dPhi );
fhConvAsymMCAntiProton ->Fill( pairM, asymmetry );
}
//Pairs coming from fragmenting pairs.
- if(ancPDG < 22 && ancLabel > 7 && (ancStatus == 11 || ancStatus == 12) ){
+ if( ancPDG < 22 && ancLabel > 7 && (ancStatus == 11 || ancStatus == 12) )
+ {
fhConvDeltaEtaMCString ->Fill( pairM, dPhi);
fhConvDeltaPhiMCString ->Fill( pairM, dPhi);
fhConvAsymMCString ->Fill( pairM, TMath::Abs(calo->E()-calo2->E())/(calo->E()+calo2->E()) );
if(bConverted)
{
//Add to AOD
- if(fAddConvertedPairsToAOD){
+ if(fAddConvertedPairsToAOD)
+ {
//Create AOD of pair analysis
fMomentum = *(calo->Momentum())+*(calo2->Momentum());
AliAODPWG4Particle aodpair = AliAODPWG4Particle(fMomentum);
aodpair.SetLabel(calo->GetLabel());
//printf("Index %d, Id %d\n",iaod, calo->GetID());
- //Set the indeces of the original caloclusters
+ //Set the indeces of the original caloclusters
aodpair.SetCaloLabel(calo->GetCaloLabel(0),id2);
aodpair.SetDetectorTag(calo->GetDetectorTag());
aodpair.SetIdentifiedParticleType(calo->GetIdentifiedParticleType());
}
//Do not add the current calocluster
- if(!fRemoveConvertedPair)
+ if(!fRemoveConvertedPair)
{
//printf("TAGGED\n");
//Tag this cluster as likely conversion
// Remove entries identified as conversion electrons
// Revise if this is OK
- if(fRemoveConvertedPair || fAddConvertedPairsToAOD){
+ if(fRemoveConvertedPair || fAddConvertedPairsToAOD)
+ {
for(Int_t iaod = 0; iaod < naod ; iaod++)
+ {
if(indexConverted[iaod])GetOutputAODBranch()->RemoveAt(iaod);
+ }
GetOutputAODBranch()->Compress();
}
delete [] indexConverted;
-
- if(GetDebug() > 1) printf("AliAnaPhotonConvInCalo::MakeAnalysisFillAOD() End fill AODs, with %d entries \n",GetOutputAODBranch()->GetEntriesFast());
+
+ AliDebug(1,Form("End fill AODs, with %d entries",GetOutputAODBranch()->GetEntriesFast()));
}
-//____________________________________________________
-void AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms()
+//________________________________________________________
+void AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms()
{
//Fill histograms
//-------------------------------------------------------------------
- // Access MC information in stack if requested, check that it exists.
+ // Access MC information in stack if requested, check that it exists.
AliStack * stack = 0x0;
- TParticle * primary = 0x0;
+ TParticle * primary = 0x0;
TClonesArray * mcparticles = 0x0;
- AliAODMCParticle * aodprimary = 0x0;
+ AliAODMCParticle * aodprimary = 0x0;
- if(IsDataMC()){
-
- if(GetReader()->ReadStack()){
+ if(IsDataMC())
+ {
+ if(GetReader()->ReadStack())
+ {
stack = GetMCStack() ;
- if(!stack) {
- printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() - Stack not available, is the MC handler called? STOP\n");
- abort();
- }
-
+ if(!stack)
+ AliFatal("Stack not available, is the MC handler called? STOP");
}
- else if(GetReader()->ReadAODMCParticles()){
-
+ else if(GetReader()->ReadAODMCParticles())
+ {
//Get the list of MC particles
mcparticles = GetReader()->GetAODMCParticles();
- if(!mcparticles && GetDebug() > 0)
- {
- printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n");
- }
+ if(!mcparticles)
+ AliFatal("Standard MCParticles not available!");
}
}// is data and MC
-
+
//----------------------------------
//Loop on stored AOD photons
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0) printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() - aod branch entries %d\n", naod);
+ AliDebug(1,Form("AOD branch entries %d", naod));
- for(Int_t iaod = 0; iaod < naod ; iaod++){
+ for(Int_t iaod = 0; iaod < naod ; iaod++)
+ {
AliAODPWG4Particle* ph = (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));
//Int_t pdg = ph->GetIdentifiedParticleType();
- if(ph->IsTagged()){
-
- if(GetDebug() > 2)
- printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() - ID Photon: pt %f, phi %f, eta %f\n", ph->Pt(),ph->Phi(),ph->Eta()) ;
+ if(ph->IsTagged())
+ {
+ AliDebug(2,Form("ID Photon: pt %f, phi %f, eta %f", ph->Pt(),ph->Phi(),ph->Eta())) ;
//................................
- //Fill photon histograms
+ //Fill photon histograms
Float_t ptcluster = ph->Pt();
Float_t phicluster = ph->Phi();
Float_t etacluster = ph->Eta();
if(ecluster > 0.5) fhEtaPhiPhotonConv ->Fill(etacluster, phicluster);
else if(GetMinPt() < 0.5) fhEtaPhi05PhotonConv->Fill(etacluster, phicluster);
-
//.......................................
//Play with the MC data if available
- if(IsDataMC()){
-
-
+ if(IsDataMC())
+ {
//....................................................................
// Access MC information in stack if requested, check that it exists.
Int_t label =ph->GetLabel();
- if(label < 0) {
- if(GetDebug() > 1) printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() *** bad label ***: label %d \n", label);
+ if(label < 0)
+ {
+ AliDebug(1,Form("*** bad label ***: label %d", label));
continue;
}
//Float_t eprim = 0;
//Float_t ptprim = 0;
- if(GetReader()->ReadStack()){
-
- if(label >= stack->GetNtrack()) {
- if(GetDebug() > 2) printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() *** large label ***: label %d, n tracks %d \n", label, stack->GetNtrack());
+ if(GetReader()->ReadStack())
+ {
+ if(label >= stack->GetNtrack())
+ {
+ AliDebug(1,Form("*** large label ***: label %d, n tracks %d", label, stack->GetNtrack()));
continue ;
}
primary = stack->Particle(label);
- if(!primary){
- printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() *** no primary ***: label %d \n", label);
+ if(!primary)
+ {
+ AliDebug(1,Form("*** no primary ***: label %d", label));
continue;
}
//eprim = primary->Energy();
//ptprim = primary->Pt();
}
- else if(GetReader()->ReadAODMCParticles()){
+ else if(GetReader()->ReadAODMCParticles())
+ {
//Check which is the input
- if(ph->GetInputFileIndex() == 0){
+ if(ph->GetInputFileIndex() == 0)
+ {
if(!mcparticles) continue;
- if(label >= mcparticles->GetEntriesFast()) {
- if(GetDebug() > 2) printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() *** large label ***: label %d, n tracks %d \n",
- label, mcparticles->GetEntriesFast());
+
+ if(label >= mcparticles->GetEntriesFast())
+ {
+ AliDebug(2,Form("*** large label ***: label %d, n tracks %d",label, mcparticles->GetEntriesFast()));
continue ;
}
+
//Get the particle
aodprimary = (AliAODMCParticle*) mcparticles->At(label);
}
- if(!aodprimary){
- printf("AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms() *** no primary ***: label %d \n", label);
+ if(!aodprimary)
+ {
+ AliDebug(2,Form("*** no primary ***: label %d", label));
continue;
}
if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
{
-
if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion))
{
-
fhPtConversionTagged ->Fill(ptcluster);
-
- }
+ }
}
else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron))
{
-
fhPtAntiNeutronTagged ->Fill(ptcluster);
-
}
else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton))
{
fhPtAntiProtonTagged ->Fill(ptcluster);
-
- }
-
- else {
+ }
+ else
+ {
fhPtUnknownTagged ->Fill(ptcluster);
-
}
}//Histograms with MC
//_________________________________________________________________________
// Class to collect two-photon invariant mass distributions for
// extracting raw pi0 yield.
-// Input is produced by AliAnaPhoton (or any other analysis producing output AliAODPWG4Particles),
+// Input is produced by AliAnaPhoton (or any other analysis producing output AliAODPWG4Particles),
// it will do nothing if executed alone
//
-//-- Author: Dmitri Peressounko (RRC "KI")
+//-- Author: Dmitri Peressounko (RRC "KI")
//-- Adapted to CaloTrackCorr frame by Lamia Benhabib (SUBATECH)
//-- and Gustavo Conesa (INFN-Frascati)
//_________________________________________________________________________
#include "AliMixedEvent.h"
#include "AliAODMCParticle.h"
-// --- Detectors ---
+// --- Detectors ---
#include "AliPHOSGeoUtils.h"
#include "AliEMCALGeometry.h"
fNModules(22),
fUseAngleCut(kFALSE), fUseAngleEDepCut(kFALSE), fAngleCut(0), fAngleMaxCut(7.),
fMultiCutAna(kFALSE), fMultiCutAnaSim(kFALSE),
-fNPtCuts(0), fNAsymCuts(0), fNCellNCuts(0), fNPIDBits(0),
-fMakeInvPtPlots(kFALSE), fSameSM(kFALSE),
+fNPtCuts(0), fNAsymCuts(0), fNCellNCuts(0), fNPIDBits(0),
+fMakeInvPtPlots(kFALSE), fSameSM(kFALSE),
fFillSMCombinations(kFALSE), fCheckConversion(kFALSE),
-fFillBadDistHisto(kFALSE), fFillSSCombinations(kFALSE),
+fFillBadDistHisto(kFALSE), fFillSSCombinations(kFALSE),
fFillAngleHisto(kFALSE), fFillAsymmetryHisto(kFALSE), fFillOriginHisto(0), fFillArmenterosThetaStar(0),
fCheckAccInSector(kFALSE),
fPhotonMom1(), fPhotonMom1Boost(), fPhotonMom2(), fPi0Mom(),
//Histograms
fhAverTotECluster(0), fhAverTotECell(0), fhAverTotECellvsCluster(0),
fhEDensityCluster(0), fhEDensityCell(0), fhEDensityCellvsCluster(0),
-fhReMod(0x0), fhReSameSideEMCALMod(0x0), fhReSameSectorEMCALMod(0x0), fhReDiffPHOSMod(0x0),
+fhReMod(0x0), fhReSameSideEMCALMod(0x0), fhReSameSectorEMCALMod(0x0), fhReDiffPHOSMod(0x0),
fhMiMod(0x0), fhMiSameSideEMCALMod(0x0), fhMiSameSectorEMCALMod(0x0), fhMiDiffPHOSMod(0x0),
fhReConv(0x0), fhMiConv(0x0), fhReConv2(0x0), fhMiConv2(0x0),
-fhRe1(0x0), fhMi1(0x0), fhRe2(0x0), fhMi2(0x0),
-fhRe3(0x0), fhMi3(0x0), fhReInvPt1(0x0), fhMiInvPt1(0x0),
+fhRe1(0x0), fhMi1(0x0), fhRe2(0x0), fhMi2(0x0),
+fhRe3(0x0), fhMi3(0x0), fhReInvPt1(0x0), fhMiInvPt1(0x0),
fhReInvPt2(0x0), fhMiInvPt2(0x0), fhReInvPt3(0x0), fhMiInvPt3(0x0),
-fhRePtNCellAsymCuts(0x0), fhMiPtNCellAsymCuts(0x0), fhRePtNCellAsymCutsSM(),
-fhRePIDBits(0x0), fhRePtMult(0x0), fhReSS(),
-fhRePtAsym(0x0), fhRePtAsymPi0(0x0), fhRePtAsymEta(0x0),
+fhRePtNCellAsymCuts(0x0), fhMiPtNCellAsymCuts(0x0), fhRePtNCellAsymCutsSM(),
+fhRePIDBits(0x0), fhRePtMult(0x0), fhReSS(),
+fhRePtAsym(0x0), fhRePtAsymPi0(0x0), fhRePtAsymEta(0x0),
fhEventBin(0), fhEventMixBin(0),
fhCentrality(0x0), fhCentralityNoPair(0x0),
fhEventPlaneResolution(0x0),
fhPrimPi0OpeningAngle(0x0), fhPrimPi0OpeningAngleAsym(0x0),fhPrimPi0CosOpeningAngle(0x0),
fhPrimPi0PtCentrality(0), fhPrimPi0PtEventPlane(0),
fhPrimPi0AccPtCentrality(0), fhPrimPi0AccPtEventPlane(0),
-fhPrimEtaE(0x0), fhPrimEtaPt(0x0),
+fhPrimEtaE(0x0), fhPrimEtaPt(0x0),
fhPrimEtaAccE(0x0), fhPrimEtaAccPt(0x0),
fhPrimEtaY(0x0), fhPrimEtaAccY(0x0),
fhPrimEtaYeta(0x0), fhPrimEtaYetaYcut(0x0), fhPrimEtaAccYeta(0x0),
fhPrimEtaAccPtCentrality(0), fhPrimEtaAccPtEventPlane(0),
fhPrimPi0PtOrigin(0x0), fhPrimEtaPtOrigin(0x0),
fhMCOrgMass(), fhMCOrgAsym(), fhMCOrgDeltaEta(), fhMCOrgDeltaPhi(),
-fhMCPi0MassPtRec(), fhMCPi0MassPtTrue(), fhMCPi0PtTruePtRec(),
+fhMCPi0MassPtRec(), fhMCPi0MassPtTrue(), fhMCPi0PtTruePtRec(),
fhMCEtaMassPtRec(), fhMCEtaMassPtTrue(), fhMCEtaPtTruePtRec(),
fhMCPi0PtOrigin(0x0), fhMCEtaPtOrigin(0x0),
fhMCPi0ProdVertex(0), fhMCEtaProdVertex(0),
fhCosThStarPrimPi0(0), fhCosThStarPrimEta(0)//,
{
//Default Ctor
-
+
InitParameters();
for(Int_t i = 0; i < 4; i++)
}
}
}
- delete[] fEventsList;
+ delete[] fEventsList;
}
-
+
}
//______________________________
fUseAngleCut = kFALSE;
fUseAngleEDepCut = kFALSE;
- fAngleCut = 0.;
- fAngleMaxCut = TMath::Pi();
+ fAngleCut = 0.;
+ fAngleMaxCut = TMath::Pi();
fMultiCutAna = kFALSE;
for(Int_t i = fNPtCuts; i < 10; i++)fPtCuts[i] = 0.;
fNAsymCuts = 2;
- fAsymCuts[0] = 1.; fAsymCuts[1] = 0.7; //fAsymCuts[2] = 0.6; // fAsymCuts[3] = 0.1;
+ fAsymCuts[0] = 1.; fAsymCuts[1] = 0.7; //fAsymCuts[2] = 0.6; // fAsymCuts[3] = 0.1;
for(Int_t i = fNAsymCuts; i < 10; i++)fAsymCuts[i] = 0.;
fNCellNCuts = 3;
- fCellNCuts[0] = 0; fCellNCuts[1] = 1; fCellNCuts[2] = 2;
+ fCellNCuts[0] = 0; fCellNCuts[1] = 1; fCellNCuts[2] = 2;
for(Int_t i = fNCellNCuts; i < 10; i++)fCellNCuts[i] = 0;
fNPIDBits = 2;
//_______________________________________
TObjString * AliAnaPi0::GetAnalysisCuts()
-{
+{
//Save parameters used for analysis
TString parList ; //this will be list of parameters used for this analysis.
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaPi0 ---\n") ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"Number of bins in Centrality: %d \n",GetNCentrBin()) ;
+ snprintf(onePar,buffersize,"--- AliAnaPi0 ---:") ;
+ parList+=onePar ;
+ snprintf(onePar,buffersize,"Number of bins in Centrality: %d;",GetNCentrBin()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Number of bins in Z vert. pos: %d \n",GetNZvertBin()) ;
+ snprintf(onePar,buffersize,"Number of bins in Z vert. pos: %d;",GetNZvertBin()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Number of bins in Reac. Plain: %d \n",GetNRPBin()) ;
+ snprintf(onePar,buffersize,"Number of bins in Reac. Plain: %d;",GetNRPBin()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Depth of event buffer: %d \n",GetNMaxEvMix()) ;
+ snprintf(onePar,buffersize,"Depth of event buffer: %d;",GetNMaxEvMix()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Select pairs with their angle: %d, edep %d, min angle %2.3f, max angle %2.3f,\n",fUseAngleCut, fUseAngleEDepCut,fAngleCut,fAngleMaxCut) ;
+ snprintf(onePar,buffersize,"Select pairs with their angle: %d, edep %d, min angle %2.3f, max angle %2.3f;",fUseAngleCut, fUseAngleEDepCut,fAngleCut,fAngleMaxCut) ;
parList+=onePar ;
snprintf(onePar,buffersize," Asymmetry cuts: n = %d, asymmetry < ",fNAsymCuts) ;
for(Int_t i = 0; i < fNAsymCuts; i++) snprintf(onePar,buffersize,"%s %2.2f;",onePar,fAsymCuts[i]);
parList+=onePar ;
- snprintf(onePar,buffersize," PID selection bits: n = %d, PID bit =\n",fNPIDBits) ;
+ snprintf(onePar,buffersize," PID selection bits: n = %d, PID bit =",fNPIDBits) ;
for(Int_t i = 0; i < fNPIDBits; i++) snprintf(onePar,buffersize,"%s %d;",onePar,fPIDBits[i]);
parList+=onePar ;
- snprintf(onePar,buffersize,"Cuts: \n") ;
+ snprintf(onePar,buffersize,"Cuts:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Z vertex position: -%f < z < %f \n",GetZvertexCut(),GetZvertexCut()) ;
+ snprintf(onePar,buffersize,"Z vertex position: -%f < z < %f;",GetZvertexCut(),GetZvertexCut()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Calorimeter: %s \n",GetCalorimeterString().Data()) ;
+ snprintf(onePar,buffersize,"Calorimeter: %s;",GetCalorimeterString().Data()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Number of modules: %d \n",fNModules) ;
+ snprintf(onePar,buffersize,"Number of modules: %d:",fNModules) ;
parList+=onePar ;
- if(fMultiCutAna){
+ if(fMultiCutAna)
+ {
snprintf(onePar, buffersize," pT cuts: n = %d, pt > ",fNPtCuts) ;
for(Int_t i = 0; i < fNPtCuts; i++) snprintf(onePar,buffersize,"%s %2.2f;",onePar,fPtCuts[i]);
parList+=onePar ;
parList+=onePar ;
}
- return new TObjString(parList) ;
+ return new TObjString(parList) ;
}
//_________________________________________
TList * AliAnaPi0::GetCreateOutputObjects()
-{
- // Create histograms to be saved in output file and
+{
+ // Create histograms to be saved in output file and
// store them in fOutputContainer
// Init the number of modules, set in the class AliCalorimeterUtils
//create event containers
fEventsList = new TList*[GetNCentrBin()*GetNZvertBin()*GetNRPBin()] ;
-
+
for(Int_t ic=0; ic<GetNCentrBin(); ic++)
{
for(Int_t iz=0; iz<GetNZvertBin(); iz++)
}
}
- TList * outputContainer = new TList() ;
- outputContainer->SetName(GetName());
-
+ TList * outputContainer = new TList() ;
+ outputContainer->SetName(GetName());
+
fhReMod = new TH2F*[fNModules] ;
fhMiMod = new TH2F*[fNModules] ;
if(GetCalorimeter() == kPHOS)
{
- fhReDiffPHOSMod = new TH2F*[fNModules] ;
+ fhReDiffPHOSMod = new TH2F*[fNModules] ;
fhMiDiffPHOSMod = new TH2F*[fNModules] ;
}
else
{
fhReSameSectorEMCALMod = new TH2F*[fNModules/2] ;
- fhReSameSideEMCALMod = new TH2F*[fNModules-2] ;
+ fhReSameSideEMCALMod = new TH2F*[fNModules-2] ;
fhMiSameSectorEMCALMod = new TH2F*[fNModules/2] ;
fhMiSameSideEMCALMod = new TH2F*[fNModules-2] ;
}
fhMiInvPt2 = new TH2F*[GetNCentrBin()*fNPIDBits*fNAsymCuts] ;
fhMiInvPt3 = new TH2F*[GetNCentrBin()*fNPIDBits*fNAsymCuts] ;
}
- }
+ }
const Int_t buffersize = 255;
char key[buffersize] ;
Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
- Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
-
+ Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+
Int_t nmassbins = GetHistogramRanges()->GetHistoMassBins();
Int_t nasymbins = GetHistogramRanges()->GetHistoAsymmetryBins();
Float_t massmax = GetHistogramRanges()->GetHistoMassMax();
Float_t asymmin = GetHistogramRanges()->GetHistoAsymmetryMin();
Int_t ntrmbins = GetHistogramRanges()->GetHistoTrackMultiplicityBins();
Int_t ntrmmax = GetHistogramRanges()->GetHistoTrackMultiplicityMax();
- Int_t ntrmmin = GetHistogramRanges()->GetHistoTrackMultiplicityMin();
-
+ Int_t ntrmmin = GetHistogramRanges()->GetHistoTrackMultiplicityMin();
+
if(fCheckConversion)
{
fhReConv = new TH2F("hReConv","Real Pair with one recombined conversion ",nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;
outputContainer->Add(fhRe3[index]) ;
}
- //Inverse pT
+ //Inverse pT
if(fMakeInvPtPlots)
{
//Distance to bad module 1
outputContainer->Add(fhMiInvPt3[index]) ;
}
}
- }
+ }
}
}
}
if(fFillSMCombinations)
for(Int_t iSM = 0; iSM < fNModules; iSM++) fhRePtNCellAsymCutsSM[iSM] = new TH2F*[fNPtCuts*fNAsymCuts*fNCellNCuts];
-
+
for(Int_t ipt=0; ipt<fNPtCuts; ipt++)
{
fhMiPtNCellAsymCuts[index] = new TH2F(key,title,nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;
fhMiPtNCellAsymCuts[index]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhMiPtNCellAsymCuts[index]->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
- outputContainer->Add(fhMiPtNCellAsymCuts[index]) ;
+ outputContainer->Add(fhMiPtNCellAsymCuts[index]) ;
if(fFillSMCombinations)
{
GetNCentrBin()*GetNZvertBin()*GetNRPBin()+1) ;
fhEventMixBin->SetXTitle("bin");
outputContainer->Add(fhEventMixBin) ;
- }
+ }
if(GetNCentrBin()>1)
{
if(fFillAngleHisto)
{
fhRealOpeningAngle = new TH2F
- ("hRealOpeningAngle","Angle between all #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,300,0,TMath::Pi());
+ ("hRealOpeningAngle","Angle between all #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,300,0,TMath::Pi());
fhRealOpeningAngle->SetYTitle("#theta(rad)");
fhRealOpeningAngle->SetXTitle("E_{ #pi^{0}} (GeV)");
outputContainer->Add(fhRealOpeningAngle) ;
fhRealCosOpeningAngle = new TH2F
- ("hRealCosOpeningAngle","Cosinus of angle between all #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,100,0,1);
+ ("hRealCosOpeningAngle","Cosinus of angle between all #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,100,0,1);
fhRealCosOpeningAngle->SetYTitle("cos (#theta) ");
fhRealCosOpeningAngle->SetXTitle("E_{ #pi^{0}} (GeV)");
outputContainer->Add(fhRealCosOpeningAngle) ;
if(DoOwnMix())
{
fhMixedOpeningAngle = new TH2F
- ("hMixedOpeningAngle","Angle between all #gamma pair vs E_{#pi^{0}}, Mixed pairs",nptbins,ptmin,ptmax,300,0,TMath::Pi());
+ ("hMixedOpeningAngle","Angle between all #gamma pair vs E_{#pi^{0}}, Mixed pairs",nptbins,ptmin,ptmax,300,0,TMath::Pi());
fhMixedOpeningAngle->SetYTitle("#theta(rad)");
fhMixedOpeningAngle->SetXTitle("E_{ #pi^{0}} (GeV)");
outputContainer->Add(fhMixedOpeningAngle) ;
fhMixedCosOpeningAngle = new TH2F
- ("hMixedCosOpeningAngle","Cosinus of angle between all #gamma pair vs E_{#pi^{0}}, Mixed pairs",nptbins,ptmin,ptmax,100,0,1);
+ ("hMixedCosOpeningAngle","Cosinus of angle between all #gamma pair vs E_{#pi^{0}}, Mixed pairs",nptbins,ptmin,ptmax,100,0,1);
fhMixedCosOpeningAngle->SetYTitle("cos (#theta) ");
fhMixedCosOpeningAngle->SetXTitle("E_{ #pi^{0}} (GeV)");
outputContainer->Add(fhMixedCosOpeningAngle) ;
}
- }
+ }
- //Histograms filled only if MC data is requested
+ //Histograms filled only if MC data is requested
if(IsDataMC())
{
fhReMCFromConversion = new TH2F("hReMCFromConversion","Invariant mass of 2 clusters originated in conversions",
- nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
+ nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
fhReMCFromConversion->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhReMCFromConversion->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhReMCFromConversion) ;
fhReMCFromNotConversion = new TH2F("hReMCNotFromConversion","Invariant mass of 2 clusters not originated in conversions",
- nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
+ nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
fhReMCFromNotConversion->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhReMCFromNotConversion->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhReMCFromNotConversion) ;
fhReMCFromMixConversion = new TH2F("hReMCFromMixConversion","Invariant mass of 2 clusters one from conversion and the other not",
- nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
+ nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
fhReMCFromMixConversion->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhReMCFromMixConversion->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhReMCFromMixConversion) ;
//Pi0
-
+
fhPrimPi0E = new TH1F("hPrimPi0E","Primary #pi^{0} E, |#it{Y}|<1",nptbins,ptmin,ptmax) ;
fhPrimPi0AccE = new TH1F("hPrimPi0AccE","Primary #pi^{0} #it{E} with both photons in acceptance",nptbins,ptmin,ptmax) ;
fhPrimPi0E ->SetXTitle("#it{E} (GeV)");
fhPrimPi0Y ->SetYTitle("#it{Rapidity}");
fhPrimPi0Y ->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimPi0Y) ;
-
+
fhPrimPi0Yeta = new TH2F("hPrimPi0PseudoRapidity","PseudoRapidity of primary #pi^{0}",nptbins,ptmin,ptmax,netabinsopen,-2, 2) ;
fhPrimPi0Yeta ->SetYTitle("#eta");
fhPrimPi0Yeta ->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimPi0Yeta) ;
-
+
fhPrimPi0YetaYcut = new TH2F("hPrimPi0PseudoRapidityYcut","PseudoRapidity of primary #pi^{0}, |#it{Y}|<1",nptbins,ptmin,ptmax,netabinsopen,-2, 2) ;
fhPrimPi0YetaYcut ->SetYTitle("#eta");
fhPrimPi0YetaYcut ->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimPi0Phi) ;
fhPrimPi0AccPhi = new TH2F("hPrimPi0AccPhi","#phi of primary #pi^{0} with accepted daughters",nptbins,ptmin,ptmax,
- nphibins,phimin*TMath::RadToDeg(),phimax*TMath::RadToDeg()) ;
+ nphibins,phimin*TMath::RadToDeg(),phimax*TMath::RadToDeg()) ;
fhPrimPi0AccPhi->SetYTitle("#phi (deg)");
fhPrimPi0AccPhi->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimPi0AccPhi) ;
outputContainer->Add(fhPrimPi0AccPtEventPlane) ;
//Eta
-
+
fhPrimEtaE = new TH1F("hPrimEtaE","Primary eta E",nptbins,ptmin,ptmax) ;
fhPrimEtaAccE = new TH1F("hPrimEtaAccE","Primary #eta #it{E} with both photons in acceptance",nptbins,ptmin,ptmax) ;
fhPrimEtaE ->SetXTitle("#it{E} (GeV)");
fhPrimEtaY->SetYTitle("#it{Rapidity}");
fhPrimEtaY->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimEtaY) ;
-
+
fhPrimEtaYeta = new TH2F("hPrimEtaPseudoRapidityEta","PseudoRapidity of primary #eta",nptbins,ptmin,ptmax,netabinsopen,-2, 2) ;
fhPrimEtaYeta->SetYTitle("#it{Rapidity}");
fhPrimEtaYeta->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimEtaYeta) ;
-
+
fhPrimEtaYetaYcut = new TH2F("hPrimEtaPseudoRapidityEtaYcut","PseudoRapidity of primary #eta, |#it{Y}|<1",nptbins,ptmin,ptmax,netabinsopen,-2, 2) ;
fhPrimEtaYetaYcut->SetYTitle("#it{Pseudorapidity}");
fhPrimEtaYetaYcut->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhPrimEtaAccY->SetYTitle("#it{Rapidity}");
fhPrimEtaAccY->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimEtaAccY) ;
-
+
fhPrimEtaAccYeta = new TH2F("hPrimEtaAccPseudoRapidity","PseudoRapidity of primary #eta",nptbins,ptmin,ptmax, netabins,etamin,etamax) ;
fhPrimEtaAccYeta->SetYTitle("#it{Pseudorapidity}");
fhPrimEtaAccYeta->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimEtaAccYeta) ;
-
+
fhPrimEtaPhi = new TH2F("hPrimEtaPhi","Azimuthal of primary #eta",nptbins,ptmin,ptmax, nphibins,phimin*TMath::RadToDeg(),phimax*TMath::RadToDeg()) ;
fhPrimEtaPhi->SetYTitle("#phi (deg)");
fhPrimEtaPhi->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPrimEtaPtEventPlane) ;
outputContainer->Add(fhPrimEtaAccPtEventPlane) ;
- if(fFillAngleHisto)
+ if(fFillAngleHisto)
{
fhPrimPi0OpeningAngle = new TH2F
- ("hPrimPi0OpeningAngle","Angle between all primary #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,100,0,0.5);
+ ("hPrimPi0OpeningAngle","Angle between all primary #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,100,0,0.5);
fhPrimPi0OpeningAngle->SetYTitle("#theta(rad)");
fhPrimPi0OpeningAngle->SetXTitle("E_{ #pi^{0}} (GeV)");
outputContainer->Add(fhPrimPi0OpeningAngle) ;
outputContainer->Add(fhPrimPi0OpeningAngleAsym) ;
fhPrimPi0CosOpeningAngle = new TH2F
- ("hPrimPi0CosOpeningAngle","Cosinus of angle between all primary #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,100,-1,1);
+ ("hPrimPi0CosOpeningAngle","Cosinus of angle between all primary #gamma pair vs E_{#pi^{0}}",nptbins,ptmin,ptmax,100,-1,1);
fhPrimPi0CosOpeningAngle->SetYTitle("cos (#theta) ");
fhPrimPi0CosOpeningAngle->SetXTitle("E_{ #pi^{0}} (GeV)");
outputContainer->Add(fhPrimPi0CosOpeningAngle) ;
fhPrimEtaOpeningAngleAsym->SetXTitle("|#it{A}|=| (#it{E}_{1}-#it{E}_{2}) / (#it{E}_{1}+#it{E}_{2}) |");
fhPrimEtaOpeningAngleAsym->SetYTitle("#theta(rad)");
outputContainer->Add(fhPrimEtaOpeningAngleAsym) ;
-
+
fhPrimEtaCosOpeningAngle = new TH2F
("hPrimEtaCosOpeningAngle","Cosinus of angle between all primary #gamma pair vs E_{#eta}",nptbins,ptmin,ptmax,100,-1,1);
fhPrimEtaCosOpeningAngle->SetYTitle("cos (#theta) ");
fhPrimEtaCosOpeningAngle->SetXTitle("#it{E}_{ #eta} (GeV)");
outputContainer->Add(fhPrimEtaCosOpeningAngle) ;
-
-
}
if(fFillOriginHisto)
fhMCPi0PtOrigin->GetYaxis()->SetBinLabel(8 ,"Other");
fhMCPi0PtOrigin->GetYaxis()->SetBinLabel(9 ,"#eta");
fhMCPi0PtOrigin->GetYaxis()->SetBinLabel(10 ,"#eta prime");
- outputContainer->Add(fhMCPi0PtOrigin) ;
+ outputContainer->Add(fhMCPi0PtOrigin) ;
//Eta
fhPrimEtaPtOrigin = new TH2F("hPrimEtaPtOrigin","Primary #pi^{0} #it{p}_{T} vs origin",nptbins,ptmin,ptmax,7,0,7) ;
fhMCEtaPtOrigin->GetYaxis()->SetBinLabel(6 ,"#eta prime");
outputContainer->Add(fhMCEtaPtOrigin) ;
-
+
fhMCPi0ProdVertex = new TH2F("hMCPi0ProdVertex","Selected reco pair from generated #pi^{0} #it{p}_{T} vs production vertex",
200,0.,20.,5000,0,500) ;
fhMCPi0ProdVertex->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhMCPi0ProdVertex->SetYTitle("#it{R} (cm)");
outputContainer->Add(fhMCPi0ProdVertex) ;
-
+
fhMCEtaProdVertex = new TH2F("hMCEtaProdVertex","Selected reco pair from generated #eta #it{p}_{T} vs production vertex",
200,0.,20.,5000,0,500) ;
fhMCEtaProdVertex->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhMCEtaProdVertex->SetYTitle("#it{R} (cm)");
outputContainer->Add(fhMCEtaProdVertex) ;
-
+
fhPrimPi0ProdVertex = new TH2F("hPrimPi0ProdVertex","generated #pi^{0} #it{p}_{T} vs production vertex",
- 200,0.,20.,5000,0,500) ;
+ 200,0.,20.,5000,0,500) ;
fhPrimPi0ProdVertex->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhPrimPi0ProdVertex->SetYTitle("#it{R} (cm)");
outputContainer->Add(fhPrimPi0ProdVertex) ;
fhPrimEtaProdVertex = new TH2F("hPrimEtaProdVertex","generated #eta #it{p}_{T} vs production vertex",
- 200,0.,20.,5000,0,500) ;
+ 200,0.,20.,5000,0,500) ;
fhPrimEtaProdVertex->SetXTitle("#it{p}_{T} (GeV/#it{c})");
fhPrimEtaProdVertex->SetYTitle("#it{R} (cm)");
outputContainer->Add(fhPrimEtaProdVertex) ;
nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;
fhMCPi0MassPtRec[index]->SetXTitle("#it{p}_{T, reconstructed} (GeV/#it{c})");
fhMCPi0MassPtRec[index]->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
- outputContainer->Add(fhMCPi0MassPtRec[index]) ;
+ outputContainer->Add(fhMCPi0MassPtRec[index]) ;
fhMCPi0MassPtTrue[index] = new TH2F(Form("hMCPi0MassPtTrue_pt%d_cell%d_asym%d",ipt,icell,iasym),
Form("Reconstructed #it{M} vs generated #it{p}_{T} of true #pi^{0} cluster pairs for #it{p}_{T} >%2.2f, #it{N}^{cluster}_{cell}>%d and |#it{A}|>%1.2f",fPtCuts[ipt],fCellNCuts[icell], fAsymCuts[iasym]),
outputContainer->Add(fhMCEtaPtTruePtRec[index]) ;
}
}
- }
+ }
}//multi cut ana
else
{
fhReDiffPHOSMod[imod]->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhReDiffPHOSMod[imod]) ;
}
- else{//EMCAL
+ else
+ {//EMCAL
if(imod<fNModules/2)
{
snprintf(key, buffersize,"hReSameSectorEMCAL_%d",imod) ;
}//EMCAL
if(DoOwnMix())
- {
+ {
snprintf(key, buffersize,"hMiMod_%d",imod) ;
snprintf(title, buffersize,"Mixed #it{M}_{#gamma#gamma} distr. for Module %d",imod) ;
fhMiMod[imod] = new TH2F(key,title,nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;
fhMiMod[imod]->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhMiMod[imod]) ;
- if(GetCalorimeter()==kPHOS){
+ if(GetCalorimeter()==kPHOS)
+ {
snprintf(key, buffersize,"hMiDiffPHOSMod_%d",imod) ;
snprintf(title, buffersize,"Mixed pairs PHOS, clusters in different Modules: %s",(pairnamePHOS[imod]).Data()) ;
fhMiDiffPHOSMod[imod] = new TH2F(key,title,nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;
fhMiDiffPHOSMod[imod]->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhMiDiffPHOSMod[imod]) ;
}//PHOS
- else{//EMCAL
+ else
+ {//EMCAL
if(imod<fNModules/2)
{
snprintf(key, buffersize,"hMiSameSectorEMCALMod_%d",imod) ;
fhMiSameSideEMCALMod[imod]->SetYTitle("#it{M}_{#gamma,#gamma} (GeV/#it{c}^{2})");
outputContainer->Add(fhMiSameSideEMCALMod[imod]) ;
}
- }//EMCAL
+ }//EMCAL
}// own mix
}//loop combinations
} // SM combinations
fhArmPrimPi0[i]->SetYTitle("#it{p}_{T}^{Arm}");
fhArmPrimPi0[i]->SetXTitle("#alpha^{Arm}");
outputContainer->Add(fhArmPrimPi0[i]) ;
-
+
fhArmPrimEta[i] = new TH2F(Form("hArmenterosPrimEtaEBin%d",i),
- Form("Armenteros of primary #eta, %s",ebin[i].Data()),
- 200, -1, 1, narmbins,armmin,armmax);
+ Form("Armenteros of primary #eta, %s",ebin[i].Data()),
+ 200, -1, 1, narmbins,armmin,armmax);
fhArmPrimEta[i]->SetYTitle("#it{p}_{T}^{Arm}");
fhArmPrimEta[i]->SetXTitle("#alpha^{Arm}");
outputContainer->Add(fhArmPrimEta[i]) ;
}
// for(Int_t i = 0; i < outputContainer->GetEntries() ; i++){
- //
+ //
// printf("Histogram %d, name: %s\n ",i, outputContainer->At(i)->GetName());
- //
+ //
// }
return outputContainer;
for(Int_t i = 0; i < fNPIDBits; i++) printf("%d ",fPIDBits[i]);
printf("\n");
- if(fMultiCutAna){
+ if(fMultiCutAna)
+ {
printf("pT cuts: n = %d, \n",fNPtCuts) ;
printf("\tpT > ");
for(Int_t i = 0; i < fNPtCuts; i++) printf("%2.2f ",fPtCuts[i]);
}
printf("------------------------------------------------------\n") ;
-}
+}
//________________________________________
void AliAnaPi0::FillAcceptanceHistograms()
primStack = stack->Particle(i) ;
if(!primStack)
{
- printf("AliAnaPi0::FillAcceptanceHistograms() - ESD primaries pointer not available!!\n");
+ AliWarning("ESD primaries pointer not available!!");
continue;
}
// If too small skip
if( primStack->Energy() < 0.4 ) continue;
-
+
pdg = primStack->GetPdgCode();
nDaught = primStack->GetNDaughters();
iphot1 = primStack->GetDaughter(0) ;
primAOD = (AliAODMCParticle *) mcparticles->At(i);
if(!primAOD)
{
- printf("AliAnaPi0::FillAcceptanceHistograms() - AOD primaries pointer not available!!\n");
+ AliWarning("AOD primaries pointer not available!!");
continue;
}
}
if(fFillArmenterosThetaStar) FillArmenterosThetaStar(pdg);
-
+
if(GetCalorimeter()==kEMCAL && inacceptance1 && inacceptance2 && fCheckAccInSector)
{
Int_t absID1=0;
// inacceptance = kTRUE;
}
- if(GetDebug() > 2)
- printf("Accepted in %s?: m (%2.2f,%2.2f,%2.2f), p1 (%2.2f,%2.2f,%2.2f), p2 (%2.2f,%2.2f,%2.2f) : in1 %d, in2 %d\n",
- GetCalorimeterString().Data(),
- mesonPt,mesonYeta,mesonPhi,
- fPhotonMom1.Pt(),fPhotonMom1.Eta(),fPhotonMom1.Phi()*TMath::RadToDeg(),
- fPhotonMom2.Pt(),fPhotonMom2.Eta(),fPhotonMom2.Phi()*TMath::RadToDeg(),
- inacceptance1, inacceptance2);
-
+ AliDebug(2,Form("Accepted in %s?: m (%2.2f,%2.2f,%2.2f), p1 (%2.2f,%2.2f,%2.2f), p2 (%2.2f,%2.2f,%2.2f) : in1 %d, in2 %d",
+ GetCalorimeterString().Data(),
+ mesonPt,mesonYeta,mesonPhi,
+ fPhotonMom1.Pt(),fPhotonMom1.Eta(),fPhotonMom1.Phi()*TMath::RadToDeg(),
+ fPhotonMom2.Pt(),fPhotonMom2.Eta(),fPhotonMom2.Phi()*TMath::RadToDeg(),
+ inacceptance1, inacceptance2));
if(inacceptance1 && inacceptance2)
{
Float_t asym = TMath::Abs((fPhotonMom1.E()-fPhotonMom2.E()) / (fPhotonMom1.E()+fPhotonMom2.E()));
Double_t angle = fPhotonMom1.Angle(fPhotonMom2.Vect());
- if(GetDebug() > 2)
- printf("\t ACCEPTED pdg %d: pt %2.2f, phi %2.2f, eta %2.2f\n",pdg,mesonPt,mesonPhi,mesonYeta);
+ AliDebug(2,Form("\t ACCEPTED pdg %d: pt %2.2f, phi %2.2f, eta %2.2f",pdg,mesonPt,mesonPhi,mesonYeta));
if(pdg==111)
{
fhArmPrimEta[ebin]->Fill(alphaArm,pTArm);
}
- if(GetDebug() > 2 )
- {
- Float_t asym = 0;
- if(fPhotonMom1.E()+fPhotonMom2.E() > 0) asym = TMath::Abs(fPhotonMom1.E()-fPhotonMom2.E())/(fPhotonMom1.E()+fPhotonMom2.E());
-
- printf("AliAnaPi0::FillArmenterosThetaStar() - E %f, alphaArm %f, pTArm %f, cos(theta*) %f, asymmetry %1.3f\n",
- en,alphaArm,pTArm,cosThStar,asym);
- }
+ // if(GetDebug() > 2 )
+ // {
+ // Float_t asym = 0;
+ // if(fPhotonMom1.E()+fPhotonMom2.E() > 0) asym = TMath::Abs(fPhotonMom1.E()-fPhotonMom2.E())/(fPhotonMom1.E()+fPhotonMom2.E());
+ //
+ // printf("AliAnaPi0::FillArmenterosThetaStar() - E %f, alphaArm %f, pTArm %f, cos(theta*) %f, asymmetry %1.3f\n",
+ // en,alphaArm,pTArm,cosThStar,asym);
+ // }
}
//_______________________________________________________________________________________
Int_t momindex = -1;
Int_t mompdg = -1;
Int_t momstatus = -1;
- if(GetDebug() > 1 )
- {
- if(ancLabel >= 0) printf("AliAnaPi0::FillMCVersusRecDataHistograms() - Common ancestor label %d, pdg %d, name %s, status %d; \n",
- ancLabel,ancPDG,TDatabasePDG::Instance()->GetParticle(ancPDG)->GetName(),ancStatus);
- else printf("AliAnaPi0::FillMCVersusRecDataHistograms() - Common ancestor not found \n");
- }
Float_t prodR = -1;
Int_t mcIndex = -1;
if(ancLabel > -1)
{
+ AliDebug(1,Form("Common ancestor label %d, pdg %d, name %s, status %d",
+ ancLabel,ancPDG,TDatabasePDG::Instance()->GetParticle(ancPDG)->GetName(),ancStatus));
+
if(ancPDG==22)
{//gamma
mcIndex = 0;
// }
}////Partons, colliding protons, strings, intermediate corrections
}//ancLabel > -1
- else { //ancLabel <= -1
+ else
+ { //ancLabel <= -1
//printf("Not related at all label = %d\n",ancLabel);
+ AliDebug(1,"Common ancestor not found");
+
mcIndex = 12;
}
- if(mcIndex >=0 && mcIndex < 13)
+ if(mcIndex >= 0 && mcIndex < 13)
{
fhMCOrgMass[mcIndex]->Fill(pt,mass);
fhMCOrgAsym[mcIndex]->Fill(pt,asym);
//In case of simulated data, fill acceptance histograms
if(IsDataMC())FillAcceptanceHistograms();
- //if (GetReader()->GetEventNumber()%10000 == 0)
+ //if (GetReader()->GetEventNumber()%10000 == 0)
// printf("--- Event %d ---\n",GetReader()->GetEventNumber());
if(!GetInputAODBranch())
{
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - No input aod photons in AOD with name branch < %s >, STOP \n",GetInputAODName().Data());
- abort();
+ AliFatal(Form("No input aod photons in AOD with name branch < %s >, STOP",GetInputAODName().Data()));
+ return;
}
//Init some variables
Int_t nPhot = GetInputAODBranch()->GetEntriesFast() ;
- if(GetDebug() > 1)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Photon entries %d\n", nPhot);
+ AliDebug(1,Form("Photon entries %d", nPhot));
//If less than photon 2 entries in the list, skip this event
- if(nPhot < 2 )
+ if ( nPhot < 2 )
{
- if(GetDebug() > 2)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - nPhotons %d, cent bin %d continue to next event\n",nPhot, GetEventCentrality());
+ AliDebug(1,Form("nPhotons %d, cent bin %d continue to next event",nPhot, GetEventCentrality()));
if(GetNCentrBin() > 1) fhCentralityNoPair->Fill(GetEventCentrality() * GetNCentrBin() / GetReader()->GetCentralityOpt());
//Init variables
Int_t module1 = -1;
Int_t module2 = -1;
- Double_t vert[] = {0.0, 0.0, 0.0} ; //vertex
- Int_t evtIndex1 = 0 ;
- Int_t currentEvtIndex = -1;
+ Double_t vert[] = {0.0, 0.0, 0.0} ; //vertex
+ Int_t evtIndex1 = 0 ;
+ Int_t currentEvtIndex = -1;
Int_t curCentrBin = GetEventCentralityBin();
//Int_t curVzBin = GetEventVzBin();
//Int_t curRPBin = GetEventRPBin();
if(eventbin > GetNCentrBin()*GetNZvertBin()*GetNRPBin())
{
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Mix Bin not exepcted: cen bin %d, z bin %d, rp bin %d, total bin %d, Event Centrality %d, z vertex %2.3f, Reaction Plane %2.3f\n",GetEventCentralityBin(),GetEventVzBin(), GetEventRPBin(),eventbin,GetEventCentrality(),vert[2],GetEventPlaneAngle());
+ AliWarning(Form("Mix Bin not expected: cen bin %d, z bin %d, rp bin %d, total bin %d, Event Centrality %d, z vertex %2.3f, Reaction Plane %2.3f",
+ GetEventCentralityBin(),GetEventVzBin(), GetEventRPBin(),eventbin,GetEventCentrality(),vert[2],GetEventPlaneAngle()));
return;
}
-
+
//Get shower shape information of clusters
TObjArray *clusters = 0;
if (GetCalorimeter()==kEMCAL) clusters = GetEMCALClusters();
AliAODPWG4Particle * p1 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(i1)) ;
//printf("AliAnaPi0::MakeAnalysisFillHistograms() : cluster1 id %d/%d\n",i1,nPhot-1);
- // get the event index in the mixed buffer where the photon comes from
+ // get the event index in the mixed buffer where the photon comes from
// in case of mixing with analysis frame, not own mixing
evtIndex1 = GetEventIndex(p1, vert) ;
if ( evtIndex1 == -1 )
- return ;
+ return ;
if ( evtIndex1 == -2 )
- continue ;
-
+ continue ;
+
// Only effective in case of mixed event frame
if(TMath::Abs(vert[2]) > GetZvertexCut()) continue ; //vertex cut
- if (evtIndex1 != currentEvtIndex)
+ if (evtIndex1 != currentEvtIndex)
{
//Fill event bin info
if(DoOwnMix()) fhEventBin->Fill(eventbin) ;
- if(GetNCentrBin() > 1)
+ if(GetNCentrBin() > 1)
{
fhCentrality->Fill(curCentrBin);
if(GetNRPBin() > 1 && GetEventPlane()) fhEventPlaneResolution->Fill(curCentrBin,TMath::Cos(2.*GetEventPlane()->GetQsubRes()));
}
- currentEvtIndex = evtIndex1 ;
+ currentEvtIndex = evtIndex1 ;
}
//printf("AliAnaPi0::MakeAnalysisFillHistograms(): Photon 1 Evt %d Vertex : %f,%f,%f\n",evtIndex1, GetVertex(evtIndex1)[0] ,GetVertex(evtIndex1)[1],GetVertex(evtIndex1)[2]);
// Recover original cluster
Int_t iclus1 = -1 ;
AliVCluster * cluster1 = FindCluster(clusters,p1->GetCaloLabel(0),iclus1);
- if(!cluster1) printf("AliAnaPi0 - Cluster1 not found!\n");
-
+ if(!cluster1) AliWarning("Cluster1 not found!");
+
//---------------------------------
//Second loop on photons/clusters
//---------------------------------
{
AliAODPWG4Particle * p2 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(i2)) ;
//printf("AliAnaPi0::MakeAnalysisFillHistograms() : cluster2 i %d/%d\n",i2,nPhot);
-
+
//In case of mixing frame, check we are not in the same event as the first cluster
- Int_t evtIndex2 = GetEventIndex(p2, vert) ;
+ Int_t evtIndex2 = GetEventIndex(p2, vert) ;
if ( evtIndex2 == -1 )
- return ;
+ return ;
if ( evtIndex2 == -2 )
- continue ;
+ continue ;
if (GetMixedEvent() && (evtIndex1 == evtIndex2))
continue ;
Int_t iclus2 = -1;
AliVCluster * cluster2 = FindCluster(clusters,p2->GetCaloLabel(0),iclus2,iclus1+1);
// start new loop from iclus1+1 to gain some time
- if(!cluster2) printf("AliAnaPi0 - Cluster2 not found!\n");
-
+ if(!cluster2) AliWarning("Cluster2 not found!");
+
// Get the TOF,l0 and ncells from the clusters
Float_t tof1 = -1;
Float_t l01 = -1;
Double_t dphi = fPhotonMom1.Phi() - fPhotonMom2.Phi();
Double_t a = TMath::Abs(p1->E()-p2->E())/(p1->E()+p2->E()) ;
- if(GetDebug() > 2)
- printf(" E: fPhotonMom1 %f, fPhotonMom2 %f; Pair: pT %f, mass %f, a %f\n", p1->E(), p2->E(), (fPhotonMom1 + fPhotonMom2).E(),m,a);
+ AliDebug(2,Form("E: fPhotonMom1 %f, fPhotonMom2 %f; Pair: pT %f, mass %f, a %f", p1->E(), p2->E(), (fPhotonMom1 + fPhotonMom2).E(),m,a));
//--------------------------------
// Opening angle selection
//--------------------------------
- //Check if opening angle is too large or too small compared to what is expected
+ //Check if opening angle is too large or too small compared to what is expected
Double_t angle = fPhotonMom1.Angle(fPhotonMom2.Vect());
if(fUseAngleEDepCut && !GetNeutralMesonSelection()->IsAngleInWindow((fPhotonMom1+fPhotonMom2).E(),angle+0.05))
{
- if(GetDebug() > 2)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() -Real pair angle %f not in E %f window\n",angle, (fPhotonMom1+fPhotonMom2).E());
+ AliDebug(2,Form("Real pair angle %f not in E %f window",angle, (fPhotonMom1+fPhotonMom2).E()));
continue;
}
if(fUseAngleCut && (angle < fAngleCut || angle > fAngleMaxCut))
{
- if(GetDebug() > 2)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Real pair cut %f < angle %f < cut %f\n",fAngleCut, angle, fAngleMaxCut);
+ AliDebug(2,Form("Real pair cut %f < angle %f < cut %f",fAngleCut, angle, fAngleMaxCut));
continue;
}
// Same side
for(Int_t i = 0; i < fNModules-2; i++){
- if((module1==i && module2==i+2) || (module1==i+2 && module2==i)) fhReSameSideEMCALMod[i]->Fill(pt,m);
+ if((module1==i && module2==i+2) || (module1==i+2 && module2==i)) fhReSameSideEMCALMod[i]->Fill(pt,m);
}
}//EMCAL
else {//PHOS
- if((module1==0 && module2==1) || (module1==1 && module2==0)) fhReDiffPHOSMod[0]->Fill(pt,m) ;
- if((module1==0 && module2==2) || (module1==2 && module2==0)) fhReDiffPHOSMod[1]->Fill(pt,m) ;
+ if((module1==0 && module2==1) || (module1==1 && module2==0)) fhReDiffPHOSMod[0]->Fill(pt,m) ;
+ if((module1==0 && module2==2) || (module1==2 && module2==0)) fhReDiffPHOSMod[1]->Fill(pt,m) ;
if((module1==1 && module2==2) || (module1==2 && module2==1)) fhReDiffPHOSMod[2]->Fill(pt,m) ;
}//PHOS
}
if(fSameSM && module1!=module2) ok=kFALSE;
if(ok)
{
- //Check if one of the clusters comes from a conversion
+ //Check if one of the clusters comes from a conversion
if(fCheckConversion)
{
if (p1->IsTagged() && p2->IsTagged()) fhReConv2->Fill(pt,m);
// Fill shower shape cut histograms
if(fFillSSCombinations)
{
- if ( l01 > 0.01 && l01 < 0.4 &&
- l02 > 0.01 && l02 < 0.4 ) fhReSS[0]->Fill(pt,m); // Tight
+ if ( l01 > 0.01 && l01 < 0.4 &&
+ l02 > 0.01 && l02 < 0.4 ) fhReSS[0]->Fill(pt,m); // Tight
else if( l01 > 0.4 && l02 > 0.4 ) fhReSS[1]->Fill(pt,m); // Loose
else if( l01 > 0.01 && l01 < 0.4 && l02 > 0.4 ) fhReSS[2]->Fill(pt,m); // Both
else if( l02 > 0.01 && l02 < 0.4 && l01 > 0.4 ) fhReSS[2]->Fill(pt,m); // Both
{
Int_t index = ((curCentrBin*fNPIDBits)+ipid)*fNAsymCuts + iasym;
//printf("index %d :(cen %d * nPID %d + ipid %d)*nasym %d + iasym %d - max index %d\n",index,curCentrBin,fNPIDBits,ipid,fNAsymCuts,iasym, curCentrBin*fNPIDBits*fNAsymCuts);
-
+
if(index < 0 || index >= ncentr*fNPIDBits*fNAsymCuts) continue ;
fhRe1 [index]->Fill(pt,m);
//Do some MC checks on the origin of the pair, is there any common ancestor and if there is one, who?
if(IsDataMC())
{
- if(GetMCAnalysisUtils()->CheckTagBit(p1->GetTag(),AliMCAnalysisUtils::kMCConversion) &&
+ if(GetMCAnalysisUtils()->CheckTagBit(p1->GetTag(),AliMCAnalysisUtils::kMCConversion) &&
GetMCAnalysisUtils()->CheckTagBit(p2->GetTag(),AliMCAnalysisUtils::kMCConversion))
{
fhReMCFromConversion->Fill(pt,m);
}
- else if(!GetMCAnalysisUtils()->CheckTagBit(p1->GetTag(),AliMCAnalysisUtils::kMCConversion) &&
+ else if(!GetMCAnalysisUtils()->CheckTagBit(p1->GetTag(),AliMCAnalysisUtils::kMCConversion) &&
!GetMCAnalysisUtils()->CheckTagBit(p2->GetTag(),AliMCAnalysisUtils::kMCConversion))
{
fhReMCFromNotConversion->Fill(pt,m);
//Histograms for different PID bits selection
for(Int_t ipid=0; ipid<fNPIDBits; ipid++)
{
- if(p1->IsPIDOK(fPIDBits[ipid],AliCaloPID::kPhoton) &&
+ if(p1->IsPIDOK(fPIDBits[ipid],AliCaloPID::kPhoton) &&
p2->IsPIDOK(fPIDBits[ipid],AliCaloPID::kPhoton)) fhRePIDBits[ipid]->Fill(pt,m) ;
//printf("ipt %d, ipid%d, name %s\n",ipt, ipid, fhRePtPIDCuts[ipt*fNPIDBitsBits+ipid]->GetName());
for(Int_t iasym=0; iasym<fNAsymCuts; iasym++)
{
Int_t index = ((ipt*fNCellNCuts)+icell)*fNAsymCuts + iasym;
- if(p1->E() > fPtCuts[ipt] && p2->E() > fPtCuts[ipt] &&
+ if(p1->E() > fPtCuts[ipt] && p2->E() > fPtCuts[ipt] &&
a < fAsymCuts[iasym] &&
ncell1 >= fCellNCuts[icell] && ncell2 >= fCellNCuts[icell])
{
if(!evMixList)
{
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Mix event list not available, bin %d \n",eventbin);
+ AliWarning(Form("Mix event list not available, bin %d",eventbin));
return;
}
Int_t nMixed = evMixList->GetSize() ;
for(Int_t ii=0; ii<nMixed; ii++)
- {
+ {
TClonesArray* ev2= (TClonesArray*) (evMixList->At(ii));
Int_t nPhot2=ev2->GetEntriesFast() ;
Double_t m = -999;
- if(GetDebug() > 1)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Mixed event %d photon entries %d, centrality bin %d\n",
- ii, nPhot2, GetEventCentralityBin());
-
+ AliDebug(1,Form("Mixed event %d photon entries %d, centrality bin %d",ii, nPhot2, GetEventCentralityBin()));
+
fhEventMixBin->Fill(eventbin) ;
-
+
//---------------------------------
//First loop on photons/clusters
- //---------------------------------
+ //---------------------------------
for(Int_t i1=0; i1<nPhot; i1++)
{
AliAODPWG4Particle * p1 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(i1)) ;
//---------------------------------
//First loop on photons/clusters
- //---------------------------------
+ //---------------------------------
for(Int_t i2=0; i2<nPhot2; i2++)
{
AliAODPWG4Particle * p2 = (AliAODPWG4Particle*) (ev2->At(i2)) ;
//Get kinematics of second cluster and calculate those of the pair
fPhotonMom2.SetPxPyPzE(p2->Px(),p2->Py(),p2->Pz(),p2->E());
- m = (fPhotonMom1+fPhotonMom2).M() ;
+ m = (fPhotonMom1+fPhotonMom2).M() ;
Double_t pt = (fPhotonMom1 + fPhotonMom2).Pt();
Double_t a = TMath::Abs(p1->E()-p2->E())/(p1->E()+p2->E()) ;
Double_t angle = fPhotonMom1.Angle(fPhotonMom2.Vect());
if(fUseAngleEDepCut && !GetNeutralMesonSelection()->IsAngleInWindow((fPhotonMom1+fPhotonMom2).E(),angle+0.05))
{
- if(GetDebug() > 2)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() -Mix pair angle %f not in E %f window\n",angle, (fPhotonMom1+fPhotonMom2).E());
+ AliDebug(2,Form("Mix pair angle %f not in E %f window",angle, (fPhotonMom1+fPhotonMom2).E()));
continue;
}
if(fUseAngleCut && (angle < fAngleCut || angle > fAngleMaxCut))
{
- if(GetDebug() > 2)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() -Mix pair angle %f < cut %f\n",angle,fAngleCut);
+ AliDebug(2,Form("Mix pair angle %f < cut %f",angle,fAngleCut));
continue;
- }
+ }
- if(GetDebug() > 2)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Mixed Event: pT: fPhotonMom1 %2.2f, fPhotonMom2 %2.2f; Pair: pT %2.2f, mass %2.3f, a %f2.3\n",
- p1->Pt(), p2->Pt(), pt,m,a);
+ AliDebug(2,Form("Mixed Event: pT: fPhotonMom1 %2.2f, fPhotonMom2 %2.2f; Pair: pT %2.2f, mass %2.3f, a %2.3f",p1->Pt(), p2->Pt(), pt,m,a));
//In case we want only pairs in same (super) module, check their origin.
module2 = GetModuleNumber(p2);
//-------------------------------------------------------------------------------------------------
//Fill module dependent histograms, put a cut on assymmetry on the first available cut in the array
- //-------------------------------------------------------------------------------------------------
+ //-------------------------------------------------------------------------------------------------
if(a < fAsymCuts[0] && fFillSMCombinations){
if(module1==module2 && module1 >=0 && module1<fNModules)
fhMiMod[module1]->Fill(pt,m) ;
// Same side
for(Int_t i = 0; i < fNModules-2; i++)
{
- if((module1==i && module2==i+2) || (module1==i+2 && module2==i)) fhMiSameSideEMCALMod[i]->Fill(pt,m);
+ if((module1==i && module2==i+2) || (module1==i+2 && module2==i)) fhMiSameSideEMCALMod[i]->Fill(pt,m);
}
}//EMCAL
else
{//PHOS
- if((module1==0 && module2==1) || (module1==1 && module2==0)) fhMiDiffPHOSMod[0]->Fill(pt,m) ;
- if((module1==0 && module2==2) || (module1==2 && module2==0)) fhMiDiffPHOSMod[1]->Fill(pt,m) ;
+ if((module1==0 && module2==1) || (module1==1 && module2==0)) fhMiDiffPHOSMod[0]->Fill(pt,m) ;
+ if((module1==0 && module2==2) || (module1==2 && module2==0)) fhMiDiffPHOSMod[1]->Fill(pt,m) ;
if((module1==1 && module2==2) || (module1==2 && module2==1)) fhMiDiffPHOSMod[2]->Fill(pt,m) ;
}//PHOS
if(fSameSM && module1!=module2) ok=kFALSE;
if(ok){
- //Check if one of the clusters comes from a conversion
+ //Check if one of the clusters comes from a conversion
if(fCheckConversion)
{
if (p1->IsTagged() && p2->IsTagged()) fhMiConv2->Fill(pt,m);
Int_t index = ((curCentrBin*fNPIDBits)+ipid)*fNAsymCuts + iasym;
if(index < 0 || index >= ncentr*fNPIDBits*fNAsymCuts) continue ;
-
+
fhMi1 [index]->Fill(pt,m) ;
if(fMakeInvPtPlots)fhMiInvPt1[index]->Fill(pt,m,1./pt) ;
}//loop for histograms
//-----------------------
- //Multi cuts analysis
- //-----------------------
+ //Multi cuts analysis
+ //-----------------------
if(fMultiCutAna){
//Several pt,ncell and asymmetry cuts
for(Int_t iasym=0; iasym<fNAsymCuts; iasym++)
{
Int_t index = ((ipt*fNCellNCuts)+icell)*fNAsymCuts + iasym;
- if(p1->Pt() > fPtCuts[ipt] && p2->Pt() > fPtCuts[ipt] &&
- a < fAsymCuts[iasym] //&&
+ if(p1->Pt() > fPtCuts[ipt] && p2->Pt() > fPtCuts[ipt] &&
+ a < fAsymCuts[iasym] //&&
//p1->GetBtag() >= fCellNCuts[icell] && p2->GetBtag() >= fCellNCuts[icell] // trick, correct it.
)
{
//--------------------------------------------------------
TClonesArray *currentEvent = new TClonesArray(*GetInputAODBranch());
- //Add current event to buffer and Remove redundant events
+ //Add current event to buffer and Remove redundant events
if( currentEvent->GetEntriesFast() > 0 )
{
evMixList->AddFirst(currentEvent) ;
evMixList->RemoveLast() ;
delete tmp ;
}
- }
+ }
else
{ //empty event
delete currentEvent ;
- currentEvent=0 ;
+ currentEvent=0 ;
}
}// DoOwnMix
-
- if(GetDebug() > 0) printf("AliAnaPi0::MakeAnalysisFillHistograms() - End fill histograms\n");
+
+ AliDebug(1,"End fill histograms");
}
//________________________________________________________________________
-Int_t AliAnaPi0::GetEventIndex(AliAODPWG4Particle * part, Double_t * vert)
+Int_t AliAnaPi0::GetEventIndex(AliAODPWG4Particle * part, Double_t * vert)
{
// retieves the event index and checks the vertex
// in the mixed buffer returns -2 if vertex NOK
// for normal events returns 0 if vertex OK and -1 if vertex NOK
- Int_t evtIndex = -1 ;
+ Int_t evtIndex = -1 ;
if(GetReader()->GetDataType()!=AliCaloTrackReader::kMC)
{
if (GetMixedEvent())
{
evtIndex = GetMixedEvent()->EventIndexForCaloCluster(part->GetCaloLabel(0)) ;
- GetVertex(vert,evtIndex);
+ GetVertex(vert,evtIndex);
if(TMath::Abs(vert[2])> GetZvertexCut())
evtIndex = -2 ; //Event can not be used (vertex, centrality,... cuts not fulfilled)
if(TMath::Abs(vert[2])> GetZvertexCut())
evtIndex = -1 ; //Event can not be used (vertex, centrality,... cuts not fulfilled)
- else
+ else
evtIndex = 0 ;
}
}//No MC reader
const Int_t buffersize = 255;
char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaRandomTrigger ---\n") ;
+ snprintf(onePar,buffersize,"--- AliAnaRandomTrigger ---:") ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Detector: %s\n" , fTriggerDetectorString.Data()) ;
+ snprintf(onePar,buffersize,"Detector: %s;" , fTriggerDetectorString.Data()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"N per event = %d\n", fNRandom ) ;
+ snprintf(onePar,buffersize,"N per event = %d;", fNRandom ) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Min E = %3.2f - Max E = %3.2f\n", GetMinPt(), GetMaxPt()) ;
+ snprintf(onePar,buffersize,"Min E = %3.2f - Max E = %3.2f;", GetMinPt(), GetMaxPt()) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Min Eta = %3.2f - Max Eta = %3.2f\n", fEtaCut[0], fEtaCut[1]) ;
+ snprintf(onePar,buffersize,"Min Eta = %3.2f - Max Eta = %3.2f;", fEtaCut[0], fEtaCut[1]) ;
parList+=onePar ;
- snprintf(onePar,buffersize,"Min Phi = %3.2f - Max Phi = %3.2f\n", fPhiCut[0], fPhiCut[1]) ;
+ snprintf(onePar,buffersize,"Min Phi = %3.2f - Max Phi = %3.2f;", fPhiCut[0], fPhiCut[1]) ;
parList+=onePar ;
return new TObjString(parList) ;
AliAODPWG4Particle trigger = AliAODPWG4Particle(fMomentum);
trigger.SetDetectorTag(fTriggerDetector);
- if(GetDebug() > 1)
- printf("AliAnaRandomTrigger::MakeAnalysisFillAOD() - iRandom %d, Trigger e %2.2f pt %2.2f, phi %2.2f, eta %2.2f \n",
- irandom, trigger.E(), trigger.Pt(), trigger.Phi(), trigger.Eta());
+ AliDebug(1,Form("iRandom %d, Trigger e %2.2f pt %2.2f, phi %2.2f, eta %2.2f",
+ irandom, trigger.E(), trigger.Pt(), trigger.Phi(), trigger.Eta()));
AddAODParticle(trigger);
}
- if(GetDebug() > 0)
- printf("AliAnaRandomTrigger::MakeAnalysisFillAOD() - Final aod branch entries %d\n", GetOutputAODBranch()->GetEntriesFast());
+ AliDebug(1,Form("Final aod branch entries %d", GetOutputAODBranch()->GetEntriesFast()));
}
//_____________________________________________________
//Loop on stored AODParticles
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0)
- printf("AliAnaRandomTrigger::MakeAnalysisFillHistograms() - aod branch entries %d, fNRandom %d\n", naod, fNRandom);
+ AliDebug(1,Form("AOD branch entries %d, fNRandom %d", naod, fNRandom));
for(Int_t iaod = 0; iaod < naod ; iaod++)
{