AliAnalysisEt()
,fCorrections(0)
,fPidCut(0)
+ ,nChargedHadronsMeasured(0)
+ ,nChargedHadronsTotal(0)
,fHistChargedPionEnergyDeposit(0)
,fHistProtonEnergyDeposit(0)
,fHistAntiProtonEnergyDeposit(0)
,fHistMatchedTracksEvspTvsCent(0)
,fHistMatchedTracksEvspTvsCentEffCorr(0)
,fHistMatchedTracksEvspTvsCentEffTMCorr(0)
+ ,fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr(0)
,fHistMatchedTracksEvspTvsCentEffTMCorr500MeV(0)
,fHistFoundHadronsvsCent(0)
,fHistNotFoundHadronsvsCent(0)
,fHistPIDProtonsTrackMatchedDepositedVsNcl(0)
,fHistPIDAntiProtonsTrackMatchedDepositedVsNcl(0)
,fHistPiKPTrackMatchedDepositedVsNch(0)
+ //,
+ ,fHistPIDProtonsTrackMatchedDepositedVsNchNoEff(0)
+ ,fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff(0)
+ ,fHistPIDProtonsTrackMatchedDepositedVsNclNoEff(0)
+ ,fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff(0)
+ ,fHistPiKPTrackMatchedDepositedVsNchNoEff(0)
,fHistCentVsNchVsNclReco(0)
+ ,fHistRawSignalReco(0)
+ ,fHistEffCorrSignalReco(0)
+ ,fHistRecoRCorrVsPtVsCent(0)
{
}
delete fHistMatchedTracksEvspTvsCent;
delete fHistMatchedTracksEvspTvsCentEffCorr;
delete fHistMatchedTracksEvspTvsCentEffTMCorr;
+ delete fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr;
delete fHistMatchedTracksEvspTvsCentEffTMCorr500MeV;
delete fHistFoundHadronsvsCent;
delete fHistNotFoundHadronsvsCent;
delete fHistPIDProtonsTrackMatchedDepositedVsNcl;
delete fHistPIDAntiProtonsTrackMatchedDepositedVsNcl;
delete fHistPiKPTrackMatchedDepositedVsNch;
+ delete fHistPIDProtonsTrackMatchedDepositedVsNchNoEff;
+ delete fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff;
+ delete fHistPIDProtonsTrackMatchedDepositedVsNclNoEff;
+ delete fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff;
+ delete fHistPiKPTrackMatchedDepositedVsNchNoEff;
delete fHistCentVsNchVsNclReco;
+ delete fHistRawSignalReco;
+ delete fHistEffCorrSignalReco;
+ delete fHistRecoRCorrVsPtVsCent;
}
Int_t AliAnalysisEtReconstructed::AnalyseEvent(AliVEvent* ev)
//for PID
- AliESDpid *pID = new AliESDpid();
- pID->MakePID(event);
+ //AliESDpid *pID = new AliESDpid();
+ //pID->MakePID(event);
Float_t etPIDProtons = 0.0;
Float_t etPIDAntiProtons = 0.0;
Float_t etPiKPMatched = 0.0;
+ Float_t etPIDProtonsNoEff = 0.0;
+ Float_t etPIDAntiProtonsNoEff = 0.0;
+ Float_t etPiKPMatchedNoEff = 0.0;
Float_t multiplicity = fEsdtrackCutsTPC->GetReferenceMultiplicity(event,kTRUE);
}
else{
totalPt +=track->Pt();
- pID->MakeITSPID(track);
+ //pID->MakeITSPID(track);
}
Float_t effHighRawEt = 0;
Float_t effLowRawEt = 0;
Float_t uncorrEt = 0;
+ Float_t rawSignal = 0;
+ Float_t effCorrSignal = 0;
- Float_t nChargedHadronsMeasured = 0.0;
- Float_t nChargedHadronsTotal = 0.0;
+ nChargedHadronsMeasured = 0.0;
+ nChargedHadronsTotal = 0.0;
Float_t nChargedHadronsEtMeasured = 0.0;
Float_t nChargedHadronsEtTotal = 0.0;
Float_t nChargedHadronsMeasured500MeV = 0.0;
Float_t nChargedHadronsEtTotal500MeV = 0.0;
Float_t fTotAllRawEt = 0.0;
Float_t fTotRawEt = 0.0;
+ Float_t fTotRawEtEffCorr = 0.0;
Float_t fTotAllRawEtEffCorr = 0.0;
Int_t nPhosClusters = 0;
Int_t nEmcalClusters = 0;
- for (Int_t iCluster = 0; iCluster < event->GetNumberOfCaloClusters(); iCluster++)
+
+ TRefArray *caloClusters = fSelector->GetClusters();
+ Int_t nCluster = caloClusters->GetEntries();
+
+ for (int iCluster = 0; iCluster < nCluster; iCluster++ )
{
- AliESDCaloCluster* cluster = event->GetCaloCluster(iCluster);
+ AliESDCaloCluster* cluster = ( AliESDCaloCluster* )caloClusters->At( iCluster );
if (!cluster)
{
AliError(Form("ERROR: Could not get cluster %d", iCluster));
cluster->GetPosition(pos);
TVector3 cp(pos);
fClusterPositionAll->Fill(cp.Phi(), cp.PseudoRapidity());
- fClusterPositionAllEnergy->Fill(cp.Phi(), cp.PseudoRapidity(),cluster->E());
+ Float_t fReconstructedE = cluster->E();
+ fClusterPositionAllEnergy->Fill(cp.Phi(), cp.PseudoRapidity(),GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE);
//if(TMath::Abs(cp.Eta())> fCuts->fCuts->GetGeometryEmcalEtaAccCut() || cp.Phi() > fCuts->GetGeometryEmcalPhiAccMaxCut()*TMath::Pi()/180. || cp.Phi() > fCuts->GetGeometryEmcalPhiAccMinCut()*TMath::Pi()/180.) continue;//Do not accept if cluster is not in the acceptance
- fTotAllRawEt += TMath::Sin(cp.Theta())*cluster->E();
- fTotAllRawEtEffCorr += CorrectForReconstructionEfficiency(*cluster,cent);
-
- fClusterEnergyCent->Fill(cluster->E(),cent);
+ fTotAllRawEt += TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
+ fTotAllRawEtEffCorr +=GetCorrectionModification(*cluster,0,0,cent)* CorrectForReconstructionEfficiency(*cluster,cent);
+ fClusterEnergyCent->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE,cent);
Bool_t matched = kTRUE;//default to no track matched
Int_t trackMatchedIndex = cluster->GetTrackMatchedIndex();//find the index of the matched track
matched = !(fSelector->PassTrackMatchingCut(*cluster));//PassTrackMatchingCut is false if there is a matched track
AliESDtrack *track = event->GetTrack(trackMatchedIndex);
//if this is a good track, accept track will return true. The track matched is good, so not track matched is false
matched = fEsdtrackCutsTPC->AcceptTrack(track);//If the track is bad, don't count it
+ if(matched){//if it is still matched see if the track p was less than the energy
+ Float_t rcorr = TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
+ fHistRecoRCorrVsPtVsCent->Fill(rcorr,track->Pt(), fCentClass);
+ if(fSelector->PassMinEnergyCut( (fReconstructedE - fsub* track->P())*TMath::Sin(cp.Theta()) )){//if more energy was deposited than the momentum of the track and more than one particle led to the cluster
+ // if(fReconstructedE - fsub* track->P() > 0.0){
+ fReconstructedE = fReconstructedE - fsub* track->P();
+ matched = kFALSE;
+ }
+ }
}
}
}
else {
totalMatchedPt +=track->Pt();
- fClusterEnergyCentMatched->Fill(cluster->E(),cent);
+ fClusterEnergyCentMatched->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE,cent);
fHistMatchedClusterSizeVsCent->Fill(cluster->GetNCells(),cent);
float eff = fTmCorrections->TrackMatchingEfficiency(track->Pt(),cent);
//cout<<"pt "<<track->Pt()<<" eff "<<eff<<" total "<<nChargedHadronsTotal<<endl;
nChargedHadronsMeasured++;
nChargedHadronsTotal += 1/eff;
- Double_t effCorrEt = CorrectForReconstructionEfficiency(*cluster,cent);
- nChargedHadronsEtMeasured+= TMath::Sin(cp.Theta())*cluster->E();
+ Double_t effCorrEt = GetCorrectionModification(*cluster,0,0,cent) * CorrectForReconstructionEfficiency(*cluster,fReconstructedE,cent);
+ nChargedHadronsEtMeasured+= TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
//One efficiency is the gamma efficiency and the other is the track matching efficiency.
- nChargedHadronsEtTotal+= 1/eff *TMath::Sin(cp.Theta())*cluster->E();
+ nChargedHadronsEtTotal+= 1/eff *TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
+ //cout<<"nFound "<<1<<" nFoundTotal "<<1/eff<<" etMeas "<<TMath::Sin(cp.Theta())*fReconstructedE<<" ET total "<< 1/eff *TMath::Sin(cp.Theta())*fReconstructedE<<endl;
Float_t nSigmaPion = fPIDResponse->NumberOfSigmasTPC(track, AliPID::kPion);
Float_t nSigmaProton = fPIDResponse->NumberOfSigmasTPC(track, AliPID::kProton);
bool isProton = (nSigmaPion>3.0 && nSigmaProton<3.0 && track->Pt()<0.9);
//cout<<"NSigmaProton "<<nSigmaProton<<endl;
etPiKPMatched += effCorrEt;
+ etPiKPMatchedNoEff +=TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
if(isProton){
if(track->Charge()>0){
etPIDProtons += effCorrEt;
+ etPIDProtonsNoEff +=TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
}
else{
+ etPIDAntiProtonsNoEff +=TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
etPIDAntiProtons += effCorrEt;
}
}
- if(TMath::Sin(cp.Theta())*cluster->E()>0.5){
+ if(TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE>0.5){
nChargedHadronsMeasured500MeV++;
nChargedHadronsTotal500MeV += 1/eff;
- nChargedHadronsEtMeasured500MeV+= TMath::Sin(cp.Theta())*cluster->E();
- nChargedHadronsEtTotal500MeV+= 1/eff *TMath::Sin(cp.Theta())*cluster->E();
+ nChargedHadronsEtMeasured500MeV+= TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
+ nChargedHadronsEtTotal500MeV+= 1/eff *TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
}
- fHistMatchedTracksEvspTvsCent->Fill(track->P(),TMath::Sin(cp.Theta())*cluster->E(),cent);
+ fHistMatchedTracksEvspTvsCent->Fill(track->P(),TMath::Sin(cp.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE,cent);
fHistMatchedTracksEvspTvsCentEffCorr->Fill(track->P(),effCorrEt,cent);
//Weighed by the number of tracks we didn't find
fHistMatchedTracksEvspTvsCentEffTMCorr->Fill(track->P(), effCorrEt,cent, (1/eff-1) );
+ if(cent<16 && cent>11){//centralities 60-80% where false track matches are low
+ for(int cbtest = 0; cbtest<20; cbtest++){//then we calculate the deposit matched to hadrons with different centrality bins' efficiencies
+ float efftest = fTmCorrections->TrackMatchingEfficiency(track->Pt(),cbtest);
+ if(TMath::Abs(efftest)<1e-5) efftest = 1.0;
+ Double_t effCorrEttest = GetCorrectionModification(*cluster,0,0,cent)*CorrectForReconstructionEfficiency(*cluster,fReconstructedE,cbtest);
+ fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr->Fill(track->P(), effCorrEttest,cbtest, (1/efftest-1) );
+ }
+ }
cluster->GetPosition(pos);
TVector3 p2(pos);
- uncorrEt += TMath::Sin(p2.Theta())*cluster->E();
+ uncorrEt += TMath::Sin(p2.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
if(uncorrEt>=0.5) fHistMatchedTracksEvspTvsCentEffTMCorr500MeV->Fill(track->P(), effCorrEt,cent, (1/eff-1) );
const Double_t *pidWeights = track->PID();
}
if (fCuts->GetHistMakeTreeDeposit() && fDepositTree)
{
- fEnergyDeposited = cluster->E();
+ fEnergyDeposited =GetCorrectionModification(*cluster,0,0,cent)* fReconstructedE;
fMomentumTPC = track->P();
fCharge = track->Charge();
fParticlePid = maxpid;
//Float_t theta = TMath::ATan(pos[2]/dist)+TMath::Pi()/2;
- //Float_t et = cluster->E() * TMath::Sin(theta);
+ //Float_t et = fReconstructedE * TMath::Sin(theta);
if (maxpid == AliPID::kProton)
{
if (track->Charge() == 1)
{
- fHistProtonEnergyDeposit->Fill(cluster->E(), track->E());
+ fHistProtonEnergyDeposit->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE, track->E());
}
else if (track->Charge() == -1)
{
- fHistAntiProtonEnergyDeposit->Fill(cluster->E(), track->E());
+ fHistAntiProtonEnergyDeposit->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE, track->E());
}
}
else if (maxpid == AliPID::kPion)
{
- fHistChargedPionEnergyDeposit->Fill(cluster->E(), track->E());
+ fHistChargedPionEnergyDeposit->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE, track->E());
}
else if (maxpid == AliPID::kKaon)
{
- fHistChargedKaonEnergyDeposit->Fill(cluster->E(), track->E());
+ fHistChargedKaonEnergyDeposit->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE, track->E());
}
else if (maxpid == AliPID::kMuon)
{
- fHistMuonEnergyDeposit->Fill(cluster->E(), track->E());
+ fHistMuonEnergyDeposit->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE, track->E());
}
}
}
fCutFlow->Fill(x++);
//std::cout << x++ << std::endl;
- //if (cluster->E() > fSingleCellEnergyCut && cluster->GetNCells() == fCuts->GetCommonSingleCell()) continue;
- //if (cluster->E() < fClusterEnergyCut) continue;
+ //if (fReconstructedE > fSingleCellEnergyCut && cluster->GetNCells() == fCuts->GetCommonSingleCell()) continue;
+ //if (fReconstructedE < fClusterEnergyCut) continue;
cluster->GetPosition(pos);
TVector3 p2(pos);
fClusterPositionAccepted->Fill(p2.Phi(), p2.PseudoRapidity());
- fClusterPositionAcceptedEnergy->Fill(p2.Phi(), p2.PseudoRapidity(),cluster->E());
- fClusterEnergy->Fill(cluster->E());
- fClusterEnergyCentNotMatched->Fill(cluster->E(),cent);
+ fClusterPositionAcceptedEnergy->Fill(p2.Phi(), p2.PseudoRapidity(),GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE);
+ fClusterEnergy->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE);
+ fClusterEnergyCentNotMatched->Fill(GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE,cent);
fHistClusterSizeVsCent->Fill(cluster->GetNCells(),cent);
- fClusterEt->Fill(TMath::Sin(p2.Theta())*cluster->E());
- uncorrEt += TMath::Sin(p2.Theta())*cluster->E();
- float myuncorrEt = TMath::Sin(p2.Theta())*cluster->E();
+ fClusterEt->Fill(TMath::Sin(p2.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE);
+ uncorrEt += TMath::Sin(p2.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
+ float myuncorrEt = TMath::Sin(p2.Theta())*GetCorrectionModification(*cluster,0,0,cent)*fReconstructedE;
fTotRawEt += myuncorrEt;
- Double_t effCorrEt = CorrectForReconstructionEfficiency(*cluster,cent);
- //cout<<"cluster energy "<<cluster->E()<<" eff corr Et "<<effCorrEt<<endl;
+ Double_t effCorrEt = CorrectForReconstructionEfficiency(*cluster,fReconstructedE,cent)*GetCorrectionModification(*cluster,0,0,cent);
+ rawSignal += myuncorrEt;
+ effCorrSignal +=effCorrEt;
+ //cout<<"cluster energy "<<fReconstructedE<<" eff corr Et "<<effCorrEt<<endl;
+ fTotRawEtEffCorr += effCorrEt;
fTotNeutralEt += effCorrEt;
nominalRawEt += effCorrEt;
if(myuncorrEt>=0.5){
fMultiplicity++;
}
+
+ fHistRawSignalReco->Fill(rawSignal);
+ fHistEffCorrSignalReco->Fill(effCorrSignal);
+
fHistNClustersPhosVsEmcal->Fill(nPhosClusters,nEmcalClusters,cent);
fChargedEnergyRemoved = GetChargedContribution(fNeutralMultiplicity);
fNeutralEnergyRemoved = GetNeutralContribution(fNeutralMultiplicity);
fHistRemovedEnergy->Fill(removedEnergy);
fTotNeutralEtAcc = fTotNeutralEt;
- fHistTotRawEtEffCorr->Fill(fTotNeutralEt,cent);
+ //fHistTotRawEtEffCorr->Fill(fTotNeutralEt,cent);
+ fHistTotRawEtEffCorr->Fill(fTotRawEtEffCorr,cent);
fHistTotRawEt->Fill(fTotRawEt,cent);
fHistTotAllRawEt->Fill(fTotAllRawEt,cent);
fHistTotAllRawEtVsTotalPt->Fill(fTotAllRawEt,totalPt);
fHistTotAllRawEtVsTotalPtVsCent->Fill(fTotAllRawEt,totalPt,cent);
fHistTotMatchedRawEtVsTotalPtVsCent->Fill(fTotAllRawEt,totalMatchedPt,cent);
fHistTotAllRawEtEffCorr->Fill(fTotAllRawEtEffCorr,cent);
+ //cout<<"fTotAllRawEtEffCorr "<<fTotAllRawEtEffCorr<<" fTotAllRawEt "<<fTotAllRawEt<<" fTotRawEtEffCorr "<<fTotRawEtEffCorr<<"("<<fTotNeutralEt<<")"<<" fTotRawEt "<<fTotRawEt<<endl;
//cout<<"uncorr "<<uncorrEt<<" raw "<<nominalRawEt<<" tot raw "<<fTotNeutralEt;
fTotNeutralEt = fGeomCorrection * fEMinCorrection * (fTotNeutralEt - removedEnergy);
//cout<<" tot corr "<<fTotNeutralEt<<endl;
// cout<<endl;
fHistPIDProtonsTrackMatchedDepositedVsNch->Fill(etPIDProtons,multiplicity);
fHistPIDAntiProtonsTrackMatchedDepositedVsNch->Fill(etPIDAntiProtons,multiplicity);
- fHistPIDProtonsTrackMatchedDepositedVsNcl->Fill(etPIDProtons,fMultiplicity);
- fHistPIDAntiProtonsTrackMatchedDepositedVsNcl->Fill(etPIDAntiProtons,fMultiplicity);
- fHistCentVsNchVsNclReco->Fill(cent,multiplicity,fMultiplicity);
+ fHistPIDProtonsTrackMatchedDepositedVsNcl->Fill(etPIDProtons,nCluster);
+ fHistPIDAntiProtonsTrackMatchedDepositedVsNcl->Fill(etPIDAntiProtons,nCluster);
+ fHistPIDProtonsTrackMatchedDepositedVsNchNoEff->Fill(etPIDProtonsNoEff,multiplicity);
+ fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff->Fill(etPIDAntiProtonsNoEff,multiplicity);
+ fHistPIDProtonsTrackMatchedDepositedVsNclNoEff->Fill(etPIDProtonsNoEff,nCluster);
+ fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff->Fill(etPIDAntiProtonsNoEff,nCluster);
+ fHistCentVsNchVsNclReco->Fill(cent,multiplicity,nCluster);
fHistPiKPTrackMatchedDepositedVsNch->Fill(etPiKPMatched,multiplicity);
- delete pID;
+ fHistPiKPTrackMatchedDepositedVsNchNoEff->Fill(etPiKPMatchedNoEff,multiplicity);
+ //delete pID;
return 0;
}
list->Add(fHistMatchedTracksEvspTvsCent);
list->Add(fHistMatchedTracksEvspTvsCentEffCorr);
list->Add(fHistMatchedTracksEvspTvsCentEffTMCorr);
+ list->Add(fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr);
list->Add(fHistMatchedTracksEvspTvsCentEffTMCorr500MeV);
list->Add(fHistFoundHadronsvsCent);
list->Add(fHistNotFoundHadronsvsCent);
list->Add(fHistPIDProtonsTrackMatchedDepositedVsNcl);
list->Add(fHistPIDAntiProtonsTrackMatchedDepositedVsNcl);
list->Add(fHistPiKPTrackMatchedDepositedVsNch);
+ list->Add(fHistPIDProtonsTrackMatchedDepositedVsNchNoEff);
+ list->Add(fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff);
+ list->Add(fHistPIDProtonsTrackMatchedDepositedVsNclNoEff);
+ list->Add(fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff);
+ list->Add(fHistPiKPTrackMatchedDepositedVsNchNoEff);
list->Add(fHistCentVsNchVsNclReco);
+ list->Add(fHistRawSignalReco);
+ list->Add(fHistEffCorrSignalReco);
+ list->Add(fHistRecoRCorrVsPtVsCent);
}
void AliAnalysisEtReconstructed::CreateHistograms()
fHistMatchedTracksEvspTvsCent = new TH3F("fHistMatchedTracksEvspTvsCent", "fHistMatchedTracksEvspTvsCent",100, 0, 3,100,0,3,20,-0.5,19.5);
fHistMatchedTracksEvspTvsCentEffCorr = new TH3F("fHistMatchedTracksEvspTvsCentEffCorr", "fHistMatchedTracksEvspTvsCentEffCorr",100, 0, 3,100,0,3,20,-0.5,19.5);
fHistMatchedTracksEvspTvsCentEffTMCorr = new TH3F("fHistMatchedTracksEvspTvsCentEffTMCorr", "fHistMatchedTracksEvspTvsCentEffTMCorr",100, 0, 3,100,0,3,20,-0.5,19.5);
+ fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr = new TH3F("fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr", "fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr",100, 0, 3,100,0,3,20,-0.5,19.5);
fHistMatchedTracksEvspTvsCentEffTMCorr500MeV = new TH3F("fHistMatchedTracksEvspTvsCentEffTMCorr500MeV", "fHistMatchedTracksEvspTvsCentEffTMCorr500MeV",100, 0, 3,100,0,3,20,-0.5,19.5);
float max = 200;
Int_t nbinsMult = 100;
Float_t maxMult = 3000;
Float_t minMult = 0;
- Int_t nbinsCl = 150;
- Float_t maxCl = 300;
+ Int_t nbinsCl = 250;
+ Float_t maxCl = 500;
Float_t minCl = 0;
fHistPIDProtonsTrackMatchedDepositedVsNch = new TH2F("fHistPIDProtonsTrackMatchedDepositedVsNch","PID'd protons deposited in calorimeter vs multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsMult,minMult,maxMult);
fHistPIDAntiProtonsTrackMatchedDepositedVsNch = new TH2F("fHistPIDAntiProtonsTrackMatchedDepositedVsNch","PID'd #bar{p} E_{T} deposited in calorimeter vs multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsMult,minMult,maxMult);
fHistPIDProtonsTrackMatchedDepositedVsNcl = new TH2F("fHistPIDProtonsTrackMatchedDepositedVsNcl","PID'd protons deposited in calorimeter vs cluster multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsCl,minCl,maxCl);
fHistPIDAntiProtonsTrackMatchedDepositedVsNcl = new TH2F("fHistPIDAntiProtonsTrackMatchedDepositedVsNcl","PID'd #bar{p} E_{T} deposited in calorimeter vs cluster multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsCl,minCl,maxCl);
fHistPiKPTrackMatchedDepositedVsNch = new TH2F("fHistPiKPTrackMatchedDepositedVsNch","PiKP track matched",nbinsEt,minEtRange,maxEtRangeHigh,nbinsMult,minMult,maxMult);
+
+ fHistPIDProtonsTrackMatchedDepositedVsNchNoEff = new TH2F("fHistPIDProtonsTrackMatchedDepositedVsNchNoEff","PID'd protons deposited in calorimeter vs multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsMult,minMult,maxMult);
+ fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff = new TH2F("fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff","PID'd #bar{p} E_{T} deposited in calorimeter vs multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsMult,minMult,maxMult);
+ fHistPIDProtonsTrackMatchedDepositedVsNclNoEff = new TH2F("fHistPIDProtonsTrackMatchedDepositedVsNclNoEff","PID'd protons deposited in calorimeter vs cluster multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsCl,minCl,maxCl);
+ fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff = new TH2F("fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff","PID'd #bar{p} E_{T} deposited in calorimeter vs cluster multiplicity",nbinsEt,minEtRange,maxEtRange,nbinsCl,minCl,maxCl);
+ fHistPiKPTrackMatchedDepositedVsNchNoEff = new TH2F("fHistPiKPTrackMatchedDepositedVsNchNoEff","PiKP track matched",nbinsEt,minEtRange,maxEtRangeHigh,nbinsMult,minMult,maxMult);
+
+
fHistCentVsNchVsNclReco = new TH3F("fHistCentVsNchVsNclReco","Cent bin vs Nch Vs NCl",20,-0.5,19.5,nbinsMult,minMult,maxMult,nbinsCl,minCl,maxCl);
+
+ fHistRawSignalReco = new TH1F("fHistRawSignalReco","fHistRawSignalReco",20,-0.5,19.5);
+ fHistEffCorrSignalReco = new TH1F("fHistEffCorrSignalReco","fHistEffCorrSignalReco",20,-0.5,19.5);
+ fHistRecoRCorrVsPtVsCent = new TH3F("fHistRecoRCorrVsPtVsCent","fHistRecoRCorrVsPtVsCent",72,0,2,50,0,10,20,-0.5,19.5);
+
}
Double_t AliAnalysisEtReconstructed::ApplyModifiedCorrections(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent)
{