return -1;
}
-Double_t AliAnalysisEt::CorrectForReconstructionEfficiency(const AliESDCaloCluster& cluster, Int_t mult)
+Double_t AliAnalysisEt::CorrectForReconstructionEfficiency(const AliESDCaloCluster& cluster, Int_t cent)
{
Float_t pos[3];
cluster.GetPosition(pos);
TVector3 cp(pos);
- Double_t corrEnergy = fReCorrections->CorrectedEnergy(cluster.E(), mult);
+ Double_t corrEnergy = fReCorrections->CorrectedEnergy(cluster.E(), cent);
//std::cout << "Original energy: " << cluster.E() << ", corrected energy: " << corrEnergy << std::endl;
return TMath::Sin(cp.Theta())*corrEnergy;
//AliAnalysisEtCuts *fCuts; // keeper of basic cuts
// Return corrected cluster E_T
- Double_t CorrectForReconstructionEfficiency(const AliESDCaloCluster &cluster,Int_t mult = 0);
+ Double_t CorrectForReconstructionEfficiency(const AliESDCaloCluster &cluster,Int_t cent = 0);
// Track matching (hadrdonic contamination) corrections
AliAnalysisEtTrackMatchCorrections *fTmCorrections;
return fEnergyCorrection->Eval(energy);
}
-Double_t AliAnalysisEtRecEffCorrection::CorrectedEnergy(Double_t energy, int mult)
+Double_t AliAnalysisEtRecEffCorrection::CorrectedEnergy(Double_t energy, int cent)
{
if(fRecoEff){
- Double_t eff = ReconstructionEfficiency(energy, mult);
+ Double_t eff = ReconstructionEfficiency(energy, cent);
if(eff>1e-5) return 1.0/eff*energy;
}
return 1.0;
}
-Double_t AliAnalysisEtRecEffCorrection::ReconstructionEfficiency(float energy, int mult) const {
+Double_t AliAnalysisEtRecEffCorrection::ReconstructionEfficiency(float energy, int cent) const {
Double_t eff = 1.0;
- if(fRecoEff) eff = fRecoEff->GetBinContent(fRecoEff->GetXaxis()->FindBin(energy),fRecoEff->GetXaxis()->FindBin(mult));
+ if(fRecoEff) eff = fRecoEff->GetBinContent(fRecoEff->GetXaxis()->FindBin(energy),fRecoEff->GetXaxis()->FindBin(cent));
//cout <<"eff "<<eff<<endl;
return eff;
}
TH2F ReconstructionEfficiency() const {
return *fRecoEff;
}
- Double_t ReconstructionEfficiency(float energy, int mult) const;
+ Double_t ReconstructionEfficiency(float energy, int cent) const;
Double_t MaxEnergy() const {
return fMaxEnergy;
Double_t CorrectedEnergy(Double_t energy); // Calculate corrected cluster E_T
- Double_t CorrectedEnergy(Double_t energy, int mult); // Calculate corrected cluster E_T
+ Double_t CorrectedEnergy(Double_t energy, int cent); // Calculate corrected cluster E_T
private:
}
-Double_t AliAnalysisEtReconstructedEmcal::GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t mult){//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
+Double_t AliAnalysisEtReconstructedEmcal::GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent){//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
Double_t factor = 1.0;
- Double_t E = fReCorrections->CorrectedEnergy(cluster.E(),mult);
+ Double_t E = fReCorrections->CorrectedEnergy(cluster.E(),cent);
if(nonLinCorr!=0){
Double_t p0 = 9.90780e-01;
Double_t p1 = 1.61503e-01;
virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
- virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t mult);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
+ virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
private:
ClassDef(AliAnalysisEtReconstructedEmcal, 1);
AliAnalysisEtReconstructed::CreateHistograms();
}
-Double_t AliAnalysisEtReconstructedPhos::GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t mult){//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
+Double_t AliAnalysisEtReconstructedPhos::GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent){//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
Double_t factor = 1.0;
if(nonLinCorr!=0){
if(nonLinCorr==1){//high bound on nonlinearity
else{//low bound
factor *=0.995;
}
- if(mult<0){//this condition will never be met but it will stop a compiler warning that results in Coverity sending me an email about once every two weeks.
+ if(cent<0){//this condition will never be met but it will stop a compiler warning that results in Coverity sending me an email about once every two weeks.
Double_t E = cluster.E();
factor = 1.0*E;
}
virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
- virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t mult);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
+ virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
private:
// Cut on geometrical acceptance
virtual Bool_t CutGeometricalAcceptance(const AliVTrack &/*part*/) const { return true; }
+ // Cut on geometrical acceptance
+ virtual Bool_t CutGeometricalAcceptance(const AliESDCaloCluster &/*part*/) const { return true; }
+
// From secondary vertex?
virtual Bool_t FromSecondaryInteraction(const TParticle& part, AliStack& stack) const;
&& part.Phi() > fCuts->GetGeometryEmcalPhiAccMinCut()*TMath::Pi()/180.;
}
+Bool_t AliAnalysisEtSelectorEmcal::CutGeometricalAcceptance(const AliESDCaloCluster& cluster) const
+{
+ Float_t pos[3];
+ cluster.GetPosition(pos);
+ TVector3 cp(pos);
+ return TMath::Abs(cp.Eta()) < fCuts->GetGeometryEmcalEtaAccCut()
+ && cp.Phi() < fCuts->GetGeometryEmcalPhiAccMaxCut()*TMath::Pi()/180.
+ && cp.Phi() > fCuts->GetGeometryEmcalPhiAccMinCut()*TMath::Pi()/180.;
+}
+
Double_t
AliAnalysisEtSelectorEmcal::CalcTrackClusterDistance(const Float_t clsPos[3],Int_t *trkMatchId) const
virtual Bool_t PassDistanceToBadChannelCut(const AliESDCaloCluster& cluster) const;
virtual Bool_t PassTrackMatchingCut(const AliESDCaloCluster& cluster) const;
virtual Bool_t CutGeometricalAcceptance(const TParticle& part) const;
- virtual Bool_t CutGeometricalAcceptance(const AliVTrack& part) const;
+ virtual Bool_t CutGeometricalAcceptance(const AliVTrack& part) const;
+ virtual Bool_t CutGeometricalAcceptance(const AliESDCaloCluster& cluster) const;
virtual void Init();
virtual Int_t Init(const AliESDEvent *ev);
track.Phi() < fCuts->GetGeometryPhosPhiAccMinCut()*TMath::Pi()/180.;
}
+
+Bool_t AliAnalysisEtSelectorPhos::CutGeometricalAcceptance(const AliESDCaloCluster& cluster) const
+{
+ Float_t pos[3];
+ cluster.GetPosition(pos);
+ TVector3 cp(pos);
+ return TMath::Abs(cp.Eta()) < fCuts->GetGeometryEmcalEtaAccCut()
+ && cp.Phi() < fCuts->GetGeometryEmcalPhiAccMaxCut()*TMath::Pi()/180.
+ && cp.Phi() > fCuts->GetGeometryEmcalPhiAccMinCut()*TMath::Pi()/180.;
+}
virtual Bool_t PassTrackMatchingCut(const AliESDCaloCluster& cluster) const;
virtual Bool_t CutGeometricalAcceptance(const TParticle& part) const;
virtual Bool_t CutGeometricalAcceptance(const AliVTrack& part) const;
+ virtual Bool_t CutGeometricalAcceptance(const AliESDCaloCluster& cluster) const;
virtual void Init() {}
virtual Int_t Init(const AliESDEvent *ev);
return *this;
}
-Double_t AliAnalysisEtTrackMatchCorrections::TrackMatchingEfficiency(Float_t pT, Int_t mult) const{
+Double_t AliAnalysisEtTrackMatchCorrections::TrackMatchingEfficiency(Float_t pT, Int_t cent) const{
Double_t eff = 1.0;
- if(fRecoEff) eff = fRecoEff->GetBinContent(fRecoEff->GetXaxis()->FindBin(pT),fRecoEff->GetXaxis()->FindBin(mult));
+ if(fRecoEff) eff = fRecoEff->GetBinContent(fRecoEff->GetXaxis()->FindBin(pT),fRecoEff->GetXaxis()->FindBin(cent));
//cout <<"eff "<<eff<<endl;
if(eff>1e-5){return eff;}
else{return 1.0;}
return fSecondaryContr->Eval(mult)*fMeanSecondary;
}
- Double_t TrackMatchingEfficiency(Float_t pT, Int_t mult) const;
+ Double_t TrackMatchingEfficiency(Float_t pT, Int_t cent) const;
// Setters