]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
changing hadronic correction to centrality not multiplicity dependent, fixing some...
authorcnattras <cnattras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 18 May 2013 22:13:15 +0000 (22:13 +0000)
committercnattras <cnattras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 18 May 2013 22:13:15 +0000 (22:13 +0000)
PWGLF/totEt/AliAnalysisEt.cxx
PWGLF/totEt/AliAnalysisEt.h
PWGLF/totEt/AliAnalysisEtMonteCarlo.cxx
PWGLF/totEt/AliAnalysisEtMonteCarlo.h
PWGLF/totEt/AliAnalysisEtRecEffCorrection.cxx
PWGLF/totEt/AliAnalysisEtReconstructed.cxx
PWGLF/totEt/AliAnalysisEtReconstructed.h
PWGLF/totEt/AliAnalysisEtReconstructedPhos.cxx
PWGLF/totEt/AliAnalysisEtReconstructedPhos.h
PWGLF/totEt/AliAnalysisEtTrackMatchCorrections.cxx
PWGLF/totEt/AliAnalysisEtTrackMatchCorrections.h

index fdd2bbfb17822216bc1dff96e34f9a1db611e5a2..fd17f3f4fa6f1a4bb8498561a48cc5836debd0df 100644 (file)
@@ -701,7 +701,7 @@ Int_t AliAnalysisEt::ReadCorrections(TString filename)
  return -1; 
 }
 
-Double_t AliAnalysisEt::CorrectForReconstructionEfficiency(const AliESDCaloCluster& cluster, int mult)
+Double_t AliAnalysisEt::CorrectForReconstructionEfficiency(const AliESDCaloCluster& cluster, Int_t mult)
 {
   Float_t pos[3];
   cluster.GetPosition(pos);
index d579e52aa7a8cf0e642ee2894ff8cacd5318266f..399b8a44e88529963c5da80e222600e279ad9613 100644 (file)
@@ -136,7 +136,7 @@ protected:
     //AliAnalysisEtCuts *fCuts; // keeper of basic cuts
     
     // Return corrected cluster E_T
-    Double_t CorrectForReconstructionEfficiency(const AliESDCaloCluster &cluster,int mult = 0);
+    Double_t CorrectForReconstructionEfficiency(const AliESDCaloCluster &cluster,Int_t mult = 0);
     
     // Track matching (hadrdonic contamination) corrections
     AliAnalysisEtTrackMatchCorrections *fTmCorrections;
index 80747c15e81142ad7d13e3692a85347d9a51f14a..80328c28599e21c6d70bb7aee3ed5ebfec274e6a 100644 (file)
@@ -254,7 +254,9 @@ AliAnalysisEtMonteCarlo::AliAnalysisEtMonteCarlo():AliAnalysisEt()
                                                  ,fHistGammasAccepted(0)
                                                  ,fHistChargedTracksCutMult(0)
                                                  ,fHistChargedTracksAcceptedMult(0)
-                                                 ,fHistChargedTracksAcceptedLowPtMult(0)
+                                                 ,fHistChargedTracksAcceptedLowPtCent(0)
+                                                 ,fHistChargedTracksAcceptedLowPtCentNoAntiProtons(0)
+                                                 ,fHistChargedTracksAcceptedLowPtCentAntiProtons(0)
                                                  ,fHistGammasCutMult(0)
                                                  ,fHistGammasAcceptedMult(0)
                                                  ,fHistBadTrackMatches(0)
@@ -262,10 +264,10 @@ AliAnalysisEtMonteCarlo::AliAnalysisEtMonteCarlo():AliAnalysisEt()
                                                  ,fHistMatchedTracksEvspTSignal(0)
                                                  ,fHistMatchedTracksEvspTBkgdPeripheral(0)
                                                  ,fHistMatchedTracksEvspTSignalPeripheral(0)
-                                                 ,fHistMatchedTracksEvspTBkgdvsMult(0)
-                                                 ,fHistMatchedTracksEvspTSignalvsMult(0)
-                                                 ,fHistMatchedTracksEvspTBkgdvsMultEffCorr(0)
-                                                 ,fHistMatchedTracksEvspTSignalvsMultEffCorr(0)
+                                                 ,fHistMatchedTracksEvspTBkgdvsCent(0)
+                                                 ,fHistMatchedTracksEvspTSignalvsCent(0)
+                                                 ,fHistMatchedTracksEvspTBkgdvsCentEffCorr(0)
+                                                 ,fHistMatchedTracksEvspTSignalvsCentEffCorr(0)
 
                                                  ,fHistChargedTracksCutPeripheral(0)
                                                  ,fHistChargedTracksAcceptedPeripheral(0)
@@ -275,9 +277,9 @@ AliAnalysisEtMonteCarlo::AliAnalysisEtMonteCarlo():AliAnalysisEt()
                                                  ,fHistGoodTrackMatchesdPhidEta(0)
                                                  ,fHistHadronDepositsAll(0)
                                                  ,fHistHadronDepositsReco(0)
-                                                 ,fHistHadronDepositsAllMult(0)
-                                                 ,fHistHadronDepositsRecoMult(0)
-                                                 ,fHistHadronsAllMult(0)
+                                                 ,fHistHadronDepositsAllCent(0)
+                                                 ,fHistHadronDepositsRecoCent(0)
+                                                 ,fHistHadronsAllCent(0)
                                                  ,fHistMultChVsSignalVsMult(0)
 {
 }
@@ -389,7 +391,9 @@ AliAnalysisEtMonteCarlo::~AliAnalysisEtMonteCarlo()
     delete fHistGammasAccepted;
     delete fHistChargedTracksCutMult;
     delete fHistChargedTracksAcceptedMult;
-    delete fHistChargedTracksAcceptedLowPtMult;
+    delete fHistChargedTracksAcceptedLowPtCent;
+    delete fHistChargedTracksAcceptedLowPtCentNoAntiProtons;
+    delete fHistChargedTracksAcceptedLowPtCentAntiProtons;
     delete fHistGammasCutMult;
     delete fHistGammasAcceptedMult;
     delete fHistBadTrackMatches;
@@ -397,10 +401,10 @@ AliAnalysisEtMonteCarlo::~AliAnalysisEtMonteCarlo()
     delete fHistMatchedTracksEvspTSignal;
     delete fHistMatchedTracksEvspTBkgdPeripheral;
     delete fHistMatchedTracksEvspTSignalPeripheral;
-    delete fHistMatchedTracksEvspTBkgdvsMult;
-    delete fHistMatchedTracksEvspTSignalvsMult;
-    delete fHistMatchedTracksEvspTBkgdvsMultEffCorr;
-    delete fHistMatchedTracksEvspTSignalvsMultEffCorr;
+    delete fHistMatchedTracksEvspTBkgdvsCent;
+    delete fHistMatchedTracksEvspTSignalvsCent;
+    delete fHistMatchedTracksEvspTBkgdvsCentEffCorr;
+    delete fHistMatchedTracksEvspTSignalvsCentEffCorr;
     delete fHistChargedTracksCutPeripheral;
     delete fHistChargedTracksAcceptedPeripheral;
     delete fHistGammasCutPeripheral;
@@ -409,9 +413,9 @@ AliAnalysisEtMonteCarlo::~AliAnalysisEtMonteCarlo()
     delete fHistGoodTrackMatchesdPhidEta;
     delete fHistHadronDepositsAll;
     delete fHistHadronDepositsReco;
-    delete fHistHadronDepositsAllMult;
-    delete fHistHadronDepositsRecoMult;
-    delete fHistHadronsAllMult;
+    delete fHistHadronDepositsAllCent;
+    delete fHistHadronDepositsRecoCent;
+    delete fHistHadronsAllCent;
     delete fHistMultChVsSignalVsMult;
 }
 
@@ -426,7 +430,7 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev)
     fPiZeroMult = 0;
     if (fCentrality)
     {
-        fCentClass = fCentrality->GetCentralityClass10(fCentralityMethod);
+        fCentClass = fCentrality->GetCentralityClass5(fCentralityMethod);
 
     }
 
@@ -705,8 +709,8 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
            //if it is from a K0S
             if(primIdx < 0)
             {
-             std::cout << "What!? No primary?" << std::endl;
-             PrintFamilyTree(iPart, stack);
+             //std::cout << "What!? No primary?" << std::endl;
+             //PrintFamilyTree(iPart, stack);
              //continue;
              //This is a work around to fix a bug.  For the EMCal when you use the tender supply, the parent particle ID gets messed up.
              primIdx = iPart;
@@ -856,8 +860,8 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
              fHistMatchedTracksEvspTBkgd->Fill(matchedTrackp,fReconstructedE);
              if(fCalcTrackMatchVsMult){
                if(fClusterMult<25){fHistMatchedTracksEvspTBkgdPeripheral->Fill(matchedTrackp,fReconstructedEt);}
-               fHistMatchedTracksEvspTBkgdvsMult->Fill(matchedTrackp,fReconstructedEt,fClusterMult);
-               fHistMatchedTracksEvspTBkgdvsMultEffCorr->Fill(matchedTrackp,clEt,fClusterMult);//Fill with the efficiency corrected energy
+               fHistMatchedTracksEvspTBkgdvsCent->Fill(matchedTrackp,fReconstructedEt, fCentClass);
+               fHistMatchedTracksEvspTBkgdvsCentEffCorr->Fill(matchedTrackp,clEt, fCentClass);//Fill with the efficiency corrected energy
              }
              Int_t trackindex = (caloCluster->GetLabelsArray())->At(1);
              if(caloCluster->GetLabel()!=trackindex){
@@ -884,7 +888,7 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
            fClusterMultChargedTracks++;
            if(nottrackmatched){//not removed but should be
              fHistHadronDepositsAll->Fill(part->Pt());
-             fHistHadronDepositsAllMult->Fill(part->Pt(),fClusterMult);
+             fHistHadronDepositsAllCent->Fill(part->Pt(), fCentClass);
              fChargedNotRemoved++;
              fEnergyChargedNotRemoved += clEt;
              fHistRemovedOrNot->Fill(2.0, fCentClass);
@@ -892,7 +896,13 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
              fHistChargedTracksAccepted->Fill(fDepositedEt);
              if(fCalcTrackMatchVsMult){
                if(matchedTrackpt<0.5){//if we could never have matched this because of its pt, how much energy did it deposit?
-                 fHistChargedTracksAcceptedLowPtMult->Fill(fDepositedEt,fClusterMult);
+                 fHistChargedTracksAcceptedLowPtCent->Fill(fDepositedEt, fCentClass);
+                 if(pdg->PdgCode()!=fgAntiProtonCode){
+                   fHistChargedTracksAcceptedLowPtCentNoAntiProtons->Fill(fDepositedEt, fCentClass);
+                 }
+                 else{
+                   fHistChargedTracksAcceptedLowPtCentAntiProtons->Fill(fDepositedEt, fCentClass);
+                 }
                }
                fHistChargedTracksAcceptedMult->Fill(fDepositedEt,fClusterMult);
                if(fClusterMult<25){fHistChargedTracksAcceptedPeripheral->Fill(fDepositedEt);}
@@ -901,9 +911,9 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
            else{//removed and should have been
              Int_t trackindex = (caloCluster->GetLabelsArray())->At(0);
              fHistHadronDepositsReco->Fill(part->Pt());
-             fHistHadronDepositsRecoMult->Fill(part->Pt(),fClusterMult);
+             fHistHadronDepositsRecoCent->Fill(part->Pt(), fCentClass);
              fHistHadronDepositsAll->Fill(part->Pt());
-             fHistHadronDepositsAllMult->Fill(part->Pt(),fClusterMult);
+             fHistHadronDepositsAllCent->Fill(part->Pt(), fCentClass);
              if(caloCluster->GetLabel()!=trackindex){
                fHistBadTrackMatches->Fill(part->Pt(),fReconstructedE);
                fHistBadTrackMatchesdPhidEta->Fill(caloCluster->GetTrackDx(),caloCluster->GetTrackDz());
@@ -924,8 +934,8 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
              fHistMatchedTracksEvspTBkgd->Fill(matchedTrackp,fReconstructedE);
              if(fCalcTrackMatchVsMult){
                if(fClusterMult<25){fHistMatchedTracksEvspTBkgdPeripheral->Fill(matchedTrackp,fReconstructedEt);}
-               fHistMatchedTracksEvspTBkgdvsMult->Fill(matchedTrackp,fReconstructedEt,fClusterMult);
-               fHistMatchedTracksEvspTBkgdvsMultEffCorr->Fill(matchedTrackp,clEt,fClusterMult);//fill with the efficiency corrected energy
+               fHistMatchedTracksEvspTBkgdvsCent->Fill(matchedTrackp,fReconstructedEt, fCentClass);
+               fHistMatchedTracksEvspTBkgdvsCentEffCorr->Fill(matchedTrackp,clEt, fCentClass);//fill with the efficiency corrected energy
              }
            }
          }
@@ -967,8 +977,8 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
              fHistMatchedTracksEvspTSignal->Fill(matchedTrackp,fReconstructedE);
              if(fCalcTrackMatchVsMult){
                if(fClusterMult<25){fHistMatchedTracksEvspTSignalPeripheral->Fill(matchedTrackp,fReconstructedEt);}
-               fHistMatchedTracksEvspTSignalvsMult->Fill(matchedTrackp,fReconstructedEt,fClusterMult);
-               fHistMatchedTracksEvspTSignalvsMultEffCorr->Fill(matchedTrackp,clEt,fClusterMult);
+               fHistMatchedTracksEvspTSignalvsCent->Fill(matchedTrackp,fReconstructedEt, fCentClass);
+               fHistMatchedTracksEvspTSignalvsCentEffCorr->Fill(matchedTrackp,clEt, fCentClass);
              }
            }
          }
@@ -1016,7 +1026,7 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev,AliVEvent* ev2)
          }
        }
         if(pdg->PdgCode()==fgPiPlusCode || pdg->PdgCode()==fgPiMinusCode || pdg->PdgCode()==fgProtonCode || pdg->PdgCode()==fgAntiProtonCode){//section here for all hadrons generated
-         fHistHadronsAllMult->Fill(part->Pt(),fClusterMult);
+         fHistHadronsAllCent->Fill(part->Pt(), fCentClass);
        }
        
         
@@ -1441,7 +1451,9 @@ void AliAnalysisEtMonteCarlo::CreateHistograms()
     if(fCalcTrackMatchVsMult){
       fHistChargedTracksCutMult = new TH2F("fHistChargedTracksCutMult", "fHistChargedTracksCutMult",100, 0, 5,10,0,100);
       fHistChargedTracksAcceptedMult = new TH2F("fHistChargedTracksAcceptedMult", "fHistChargedTracksAcceptedMult",100, 0, 5,10,0,100);
-      fHistChargedTracksAcceptedLowPtMult = new TH2F("fHistChargedTracksAcceptedLowPtMult", "fHistChargedTracksAcceptedLowPtMult",100, 0, 5,10,0,100);
+      fHistChargedTracksAcceptedLowPtCent = new TH2F("fHistChargedTracksAcceptedLowPtCent", "fHistChargedTracksAcceptedLowPtCent",100, 0, 5,20,0,20);
+      fHistChargedTracksAcceptedLowPtCentNoAntiProtons = new TH2F("fHistChargedTracksAcceptedLowPtCentNoAntiProtons", "fHistChargedTracksAcceptedLowPtCentNoAntiProtons",100, 0, 5,20,0,20);
+      fHistChargedTracksAcceptedLowPtCentAntiProtons = new TH2F("fHistChargedTracksAcceptedLowPtCentAntiProtons", "fHistChargedTracksAcceptedLowPtCentAntiProtons",100, 0, 5,20,0,20);
       fHistGammasCutMult = new TH2F("fHistGammasTracksCutMult", "fHistGammasTracksCutMult",100, 0, 5,10,0,100);
       fHistGammasAcceptedMult = new TH2F("fHistGammasTracksAcceptedMult", "fHistGammasTracksAcceptedMult",100, 0, 5,10,0,100);
     }
@@ -1453,10 +1465,10 @@ void AliAnalysisEtMonteCarlo::CreateHistograms()
       fHistMatchedTracksEvspTBkgdPeripheral = new TH2F("fHistMatchedTracksEvspTBkgdPeripheral", "fHistMatchedTracksEvspTBkgd",100, 0, 3,100,0,3);
       fHistMatchedTracksEvspTSignalPeripheral = new TH2F("fHistMatchedTracksEvspTSignalPeripheral", "fHistMatchedTracksEvspTSignal",100, 0, 3,100,0,3);
 
-      fHistMatchedTracksEvspTBkgdvsMult = new TH3F("fHistMatchedTracksEvspTBkgdMult", "fHistMatchedTracksEvspTBkgdMult",100, 0, 3,100,0,3,10,0,100);
-      fHistMatchedTracksEvspTSignalvsMult = new TH3F("fHistMatchedTracksEvspTSignalMult", "fHistMatchedTracksEvspTSignalMult",100, 0, 3,100,0,3,10,0,100);
-      fHistMatchedTracksEvspTBkgdvsMultEffCorr = new TH3F("fHistMatchedTracksEvspTBkgdMultEffCorr", "fHistMatchedTracksEvspTBkgdMult",100, 0, 3,100,0,3,10,0,100);
-      fHistMatchedTracksEvspTSignalvsMultEffCorr = new TH3F("fHistMatchedTracksEvspTSignalMultEffCorr", "fHistMatchedTracksEvspTSignalMult",100, 0, 3,100,0,3,10,0,100);
+      fHistMatchedTracksEvspTBkgdvsCent = new TH3F("fHistMatchedTracksEvspTBkgdvsCent", "fHistMatchedTracksEvspTBkgdvsCent",100, 0, 3,100,0,3,20,0,20);
+      fHistMatchedTracksEvspTSignalvsCent = new TH3F("fHistMatchedTracksEvspTSignalvsCent", "fHistMatchedTracksEvspTSignalvsCent",100, 0, 3,100,0,3,20,0,20);
+      fHistMatchedTracksEvspTBkgdvsCentEffCorr = new TH3F("fHistMatchedTracksEvspTBkgdvsCentEffCorr", "fHistMatchedTracksEvspTBkgdvsCent",100, 0, 3,100,0,3,20,0,20);
+      fHistMatchedTracksEvspTSignalvsCentEffCorr = new TH3F("fHistMatchedTracksEvspTSignalvsCentEffCorr", "fHistMatchedTracksEvspTSignalvsCent",100, 0, 3,100,0,3,20,0,20);
     
 
       fHistChargedTracksCutPeripheral = new TH1F("fHistChargedTracksCutPeripheral", "fHistChargedTracksCut",100, 0, 5);
@@ -1474,11 +1486,13 @@ void AliAnalysisEtMonteCarlo::CreateHistograms()
       Float_t nMultCuts[21] = { 0, 5,10,15,20, 25,30,35,40,45, 
                               50,55,60,65,70, 75,80,85,90,95,
                                100};
+      Int_t nCent = 20;
+      Float_t nCentCuts[21] = { 0, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
 
-      fHistHadronDepositsAllMult = new TH2F("fHistHadronDepositsAllMult","All Hadrons which deposited energy in calorimeter",fgNumOfPtBins,fgPtAxis,nMult,nMultCuts);
-      fHistHadronDepositsRecoMult = new TH2F("fHistHadronDepositsRecoMult","Reconstructed Hadrons which deposited energy in calorimeter",fgNumOfPtBins,fgPtAxis,nMult,nMultCuts);
+      fHistHadronDepositsAllCent = new TH2F("fHistHadronDepositsAllCent","All Hadrons which deposited energy in calorimeter",fgNumOfPtBins,fgPtAxis,nCent,nCentCuts);
+      fHistHadronDepositsRecoCent = new TH2F("fHistHadronDepositsRecoCent","Reconstructed Hadrons which deposited energy in calorimeter",fgNumOfPtBins,fgPtAxis,nCent,nCentCuts);
 
-      fHistHadronsAllMult = new TH2F("fHistHadronsAllMult","All Hadrons vs cluster mult",fgNumOfPtBins,fgPtAxis,nMult,nMultCuts);
+      fHistHadronsAllCent = new TH2F("fHistHadronsAllCent","All Hadrons vs cluster mult",fgNumOfPtBins,fgPtAxis,nCent,nCentCuts);
 
       fHistMultChVsSignalVsMult = new TH3F("fHistMultChVsSignalVsMult","Charged particle Multiplicity vs Signal particle multiplicity vs Cluster Mult",nMult,nMultCuts,nMult,nMultCuts,nMult,nMultCuts);
 }
@@ -1602,7 +1616,9 @@ void AliAnalysisEtMonteCarlo::FillOutputList(TList *list)
     if(fCalcTrackMatchVsMult){
       list->Add(fHistChargedTracksCutMult);
       list->Add(fHistChargedTracksAcceptedMult);
-      list->Add(fHistChargedTracksAcceptedLowPtMult);
+      list->Add(fHistChargedTracksAcceptedLowPtCent);
+      list->Add(fHistChargedTracksAcceptedLowPtCentNoAntiProtons);
+      list->Add(fHistChargedTracksAcceptedLowPtCentAntiProtons);
       list->Add(fHistGammasCutMult);
       list->Add(fHistGammasAcceptedMult);
     }
@@ -1612,10 +1628,10 @@ void AliAnalysisEtMonteCarlo::FillOutputList(TList *list)
     if(fCalcTrackMatchVsMult){
       list->Add(fHistMatchedTracksEvspTBkgdPeripheral);
       list->Add(fHistMatchedTracksEvspTSignalPeripheral);
-      list->Add(fHistMatchedTracksEvspTBkgdvsMult);
-      list->Add(fHistMatchedTracksEvspTSignalvsMult);
-      list->Add(fHistMatchedTracksEvspTBkgdvsMultEffCorr);
-      list->Add(fHistMatchedTracksEvspTSignalvsMultEffCorr);
+      list->Add(fHistMatchedTracksEvspTBkgdvsCent);
+      list->Add(fHistMatchedTracksEvspTSignalvsCent);
+      list->Add(fHistMatchedTracksEvspTBkgdvsCentEffCorr);
+      list->Add(fHistMatchedTracksEvspTSignalvsCentEffCorr);
       list->Add(fHistChargedTracksCutPeripheral);
       list->Add(fHistChargedTracksAcceptedPeripheral);
       list->Add(fHistGammasCutPeripheral);
@@ -1625,9 +1641,9 @@ void AliAnalysisEtMonteCarlo::FillOutputList(TList *list)
     list->Add(fHistGoodTrackMatchesdPhidEta);
     list->Add(fHistHadronDepositsAll);
     list->Add(fHistHadronDepositsReco);
-    list->Add(fHistHadronDepositsAllMult);
-    list->Add(fHistHadronDepositsRecoMult);
-    list->Add(fHistHadronsAllMult);
+    list->Add(fHistHadronDepositsAllCent);
+    list->Add(fHistHadronDepositsRecoCent);
+    list->Add(fHistHadronsAllCent);
     list->Add(fHistMultChVsSignalVsMult);
 
 }
index 8196731aeb474a8b26ec31c2619232173fd0e675..fd50d28d6bb2fee33bd90cceeeeb1542746d4145 100644 (file)
@@ -321,7 +321,9 @@ protected:
     TH1F *fHistGammasAccepted;
     TH2F *fHistChargedTracksCutMult;
     TH2F *fHistChargedTracksAcceptedMult;
-    TH2F *fHistChargedTracksAcceptedLowPtMult;
+    TH2F *fHistChargedTracksAcceptedLowPtCent;
+    TH2F *fHistChargedTracksAcceptedLowPtCentNoAntiProtons;
+    TH2F *fHistChargedTracksAcceptedLowPtCentAntiProtons;
     TH2F *fHistGammasCutMult;
     TH2F *fHistGammasAcceptedMult;
     TH1F *fHistBadTrackMatches;
@@ -329,10 +331,10 @@ protected:
     TH2F *fHistMatchedTracksEvspTSignal;
     TH2F *fHistMatchedTracksEvspTBkgdPeripheral;
     TH2F *fHistMatchedTracksEvspTSignalPeripheral;
-    TH3F *fHistMatchedTracksEvspTBkgdvsMult;
-    TH3F *fHistMatchedTracksEvspTSignalvsMult;
-    TH3F *fHistMatchedTracksEvspTBkgdvsMultEffCorr;
-    TH3F *fHistMatchedTracksEvspTSignalvsMultEffCorr;
+    TH3F *fHistMatchedTracksEvspTBkgdvsCent;
+    TH3F *fHistMatchedTracksEvspTSignalvsCent;
+    TH3F *fHistMatchedTracksEvspTBkgdvsCentEffCorr;
+    TH3F *fHistMatchedTracksEvspTSignalvsCentEffCorr;
     TH1F *fHistChargedTracksCutPeripheral;
     TH1F *fHistChargedTracksAcceptedPeripheral;
     TH1F *fHistGammasCutPeripheral;
@@ -341,9 +343,9 @@ protected:
     TH2F *fHistGoodTrackMatchesdPhidEta;
     TH1F *fHistHadronDepositsAll;
     TH1F *fHistHadronDepositsReco;
-    TH2F *fHistHadronDepositsAllMult;
-    TH2F *fHistHadronDepositsRecoMult;
-    TH2F *fHistHadronsAllMult;
+    TH2F *fHistHadronDepositsAllCent;
+    TH2F *fHistHadronDepositsRecoCent;
+    TH2F *fHistHadronsAllCent;
     TH3F *fHistMultChVsSignalVsMult;
 
 
index dd48d9d55579609255b46ca3e9d93d027c155324..5f512f4df919bab044104d0b350ff67ac9a81f53 100644 (file)
@@ -62,7 +62,10 @@ Double_t AliAnalysisEtRecEffCorrection::CorrectedEnergy(Double_t energy)
 }
 Double_t AliAnalysisEtRecEffCorrection::CorrectedEnergy(Double_t energy, int mult)
 {
-  if(fRecoEff) return 1.0/ReconstructionEfficiency(energy, mult);
+  if(fRecoEff){
+    Double_t eff = ReconstructionEfficiency(energy, mult);
+    if(eff>1e-5) return 1.0/eff;
+  }
   return 1.0;
   
 }
index 25cf01febe23d86b5ff81dd0f875624c282dd456..f2c0088183eb73bad6c9ca14136878715fb49cba 100644 (file)
@@ -61,8 +61,8 @@ AliAnalysisEtReconstructed::AliAnalysisEtReconstructed() :
        ,fHistChargedEnergyRemoved(0)
        ,fHistNeutralEnergyRemoved(0)
        ,fHistGammaEnergyAdded(0)
-       ,fHistMatchedTracksEvspTvsMult(0)
-       ,fHistMatchedTracksEvspTvsMultEffCorr(0)
+       ,fHistMatchedTracksEvspTvsCent(0)
+       ,fHistMatchedTracksEvspTvsCentEffCorr(0)
        ,fHistFoundHadronsvsCent(0)
        ,fHistNotFoundHadronsvsCent(0)
        ,fHistFoundHadronsEtvsCent(0)
@@ -92,8 +92,8 @@ AliAnalysisEtReconstructed::~AliAnalysisEtReconstructed()
     delete fHistChargedEnergyRemoved;
     delete fHistNeutralEnergyRemoved;
     delete fHistGammaEnergyAdded;
-    delete fHistMatchedTracksEvspTvsMult;
-    delete fHistMatchedTracksEvspTvsMultEffCorr;
+    delete fHistMatchedTracksEvspTvsCent;
+    delete fHistMatchedTracksEvspTvsCentEffCorr;
     delete fHistFoundHadronsvsCent;
     delete fHistNotFoundHadronsvsCent;
     delete fHistFoundHadronsEtvsCent;
@@ -198,8 +198,8 @@ Int_t AliAnalysisEtReconstructed::AnalyseEvent(AliVEvent* ev)
                  Double_t effCorrEt = CorrectForReconstructionEfficiency(*cluster,fClusterMult);
                  nChargedHadronsEtMeasured+= TMath::Sin(cp.Theta())*effCorrEt;
                  nChargedHadronsEtTotal+= 1/fTmCorrections->TrackMatchingEfficiency(track->Pt(),fClusterMult) *effCorrEt;
-                 fHistMatchedTracksEvspTvsMult->Fill(track->P(),TMath::Sin(cp.Theta())*cluster->E(),fClusterMult);
-                 fHistMatchedTracksEvspTvsMultEffCorr->Fill(track->P(),CorrectForReconstructionEfficiency(*cluster,fClusterMult),fClusterMult);
+                 fHistMatchedTracksEvspTvsCent->Fill(track->P(),TMath::Sin(cp.Theta())*cluster->E(),cent);
+                 fHistMatchedTracksEvspTvsCentEffCorr->Fill(track->P(),CorrectForReconstructionEfficiency(*cluster,fClusterMult),cent);
                     const Double_t *pidWeights = track->PID();
 
                     Double_t maxpidweight = 0;
@@ -286,10 +286,10 @@ Int_t AliAnalysisEtReconstructed::AnalyseEvent(AliVEvent* ev)
            Double_t effCorrEt = CorrectForReconstructionEfficiency(*cluster,fClusterMult);
            fTotNeutralEt += effCorrEt;
            nominalRawEt += effCorrEt;
-           nonlinHighRawEt += effCorrEt*GetCorrectionModification(*cluster,1,0);
-           nonlinLowRawEt += effCorrEt*GetCorrectionModification(*cluster,-1,0);
-           effHighRawEt += effCorrEt*GetCorrectionModification(*cluster,0,1);
-           effLowRawEt += effCorrEt*GetCorrectionModification(*cluster,0,-1);
+           nonlinHighRawEt += effCorrEt*GetCorrectionModification(*cluster,1,0,fClusterMult);
+           nonlinLowRawEt += effCorrEt*GetCorrectionModification(*cluster,-1,0,fClusterMult);
+           effHighRawEt += effCorrEt*GetCorrectionModification(*cluster,0,1,fClusterMult);
+           effLowRawEt += effCorrEt*GetCorrectionModification(*cluster,0,-1,fClusterMult);
             fNeutralMultiplicity++;
         }
         fMultiplicity++;
@@ -369,7 +369,6 @@ void AliAnalysisEtReconstructed::Init()
 
 bool AliAnalysisEtReconstructed::TrackHitsCalorimeter(AliVParticle* track, Double_t magField)
 { // propagate track to detector radius
-
     if (!track) {
         cout<<"Warning: track empty"<<endl;
         return kFALSE;
@@ -405,8 +404,8 @@ void AliAnalysisEtReconstructed::FillOutputList(TList* list)
     list->Add(fHistChargedEnergyRemoved);
     list->Add(fHistNeutralEnergyRemoved);
     list->Add(fHistGammaEnergyAdded);
-    list->Add(fHistMatchedTracksEvspTvsMult);
-    list->Add(fHistMatchedTracksEvspTvsMultEffCorr);
+    list->Add(fHistMatchedTracksEvspTvsCent);
+    list->Add(fHistMatchedTracksEvspTvsCentEffCorr);
     list->Add(fHistFoundHadronsvsCent);
     list->Add(fHistNotFoundHadronsvsCent);
     list->Add(fHistFoundHadronsEtvsCent);
@@ -488,8 +487,8 @@ void AliAnalysisEtReconstructed::CreateHistograms()
     histname = "fHistGammaEnergyAdded" + fHistogramNameSuffix;
     fHistGammaEnergyAdded = new TH2D(histname.Data(), histname.Data(), 1000, .0, 30, 100, -0.5 , 99.5);
 
-    fHistMatchedTracksEvspTvsMult = new TH3F("fHistMatchedTracksEvspTvsMult", "fHistMatchedTracksEvspTvsMult",100, 0, 3,100,0,3,10,0,100);
-    fHistMatchedTracksEvspTvsMultEffCorr = new TH3F("fHistMatchedTracksEvspTvsMultEffCorr", "fHistMatchedTracksEvspTvsMultEffCorr",100, 0, 3,100,0,3,10,0,100);
+    fHistMatchedTracksEvspTvsCent = new TH3F("fHistMatchedTracksEvspTvsCent", "fHistMatchedTracksEvspTvsCent",100, 0, 3,100,0,3,20,0,20);
+    fHistMatchedTracksEvspTvsCentEffCorr = new TH3F("fHistMatchedTracksEvspTvsCentEffCorr", "fHistMatchedTracksEvspTvsCentEffCorr",100, 0, 3,100,0,3,20,0,20);
     fHistFoundHadronsvsCent = new TH2F("fHistFoundHadronsvsCent","fHistFoundHadronsvsCent",100,0,100,20,0,20);
     fHistNotFoundHadronsvsCent = new TH2F("fHistNotFoundHadronsvsCent","fHistNotFoundHadronsvsCent",100,0,100,20,0,20);
     fHistFoundHadronsEtvsCent = new TH2F("fHistFoundHadronsEtvsCent","fHistFoundHadronsEtvsCent",100,0,200,20,0,20);
@@ -515,18 +514,18 @@ Double_t AliAnalysisEtReconstructed::ApplyModifiedCorrections(const AliESDCaloCl
   TVector3 cp(pos);
   Double_t corrEnergy = fReCorrections->CorrectedEnergy(cluster.E(),mult);
   
-  Double_t factorNonLin = GetCorrectionModification(cluster, nonLinCorr,effCorr);
+  Double_t factorNonLin = GetCorrectionModification(cluster, nonLinCorr,effCorr,mult);
 
   //std::cout << "Original energy: " << cluster.E() << ", corrected energy: " << corrEnergy << std::endl;
   return TMath::Sin(cp.Theta())*corrEnergy*factorNonLin;
 }
 
-Double_t AliAnalysisEtReconstructed::GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr){//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr  0 = nominal 1 = high -1 = low
+Double_t AliAnalysisEtReconstructed::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
   if(nonLinCorr==0){
     cout<<"Warning:  This function should not get called!"<<endl;//this statement is basically here to avoid a compilation warning
   }
   if(effCorr==0){
     cout<<"Warning:  This function should not get called!"<<endl;//this statement is basically here to avoid a compilation warning
   }
-  return cluster.E();
+  return cluster.E()*mult;
 }
index 096efe735800bf51a2cf5941e6baccc77b1cd999..fc8893f642697ba4315abd38172dc2c9f58b62d9 100644 (file)
@@ -45,7 +45,7 @@ protected:
     bool CheckGoodVertex(AliVParticle *track);
     virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
 
-    virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr);//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 mult);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr  0 = nominal 1 = high -1 = low
 
     AliAnalysisHadEtCorrections *fCorrections;//corrections needed for hadronic et
 
@@ -72,8 +72,8 @@ protected:
     TH2D *fHistNeutralEnergyRemoved; // Neutral energy removed
     TH2D *fHistGammaEnergyAdded; // gamma energy added
 
-    TH3F *fHistMatchedTracksEvspTvsMult;   //For measuring hadron deposits
-    TH3F *fHistMatchedTracksEvspTvsMultEffCorr;   //For measuring hadron deposits
+    TH3F *fHistMatchedTracksEvspTvsCent;   //For measuring hadron deposits
+    TH3F *fHistMatchedTracksEvspTvsCentEffCorr;   //For measuring hadron deposits
     TH2F *fHistFoundHadronsvsCent;   //For measuring hadron deposits
     TH2F *fHistNotFoundHadronsvsCent;   //For measuring hadron deposits
     TH2F *fHistFoundHadronsEtvsCent;   //For measuring hadron deposits
index abed7b451acb19b4b6d52c5e89e21466c2905a7f..d9f1b206a4718ed0567392f6e3dc4f25195f755b 100644 (file)
@@ -103,9 +103,8 @@ void AliAnalysisEtReconstructedPhos::CreateHistograms()
   AliAnalysisEtReconstructed::CreateHistograms();
 }
 
-Double_t AliAnalysisEtReconstructedPhos::GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr){//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 mult){//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());
   if(nonLinCorr!=0){
     if(nonLinCorr==1){//high bound on nonlinearity
       factor *=1.05;
@@ -121,6 +120,10 @@ Double_t AliAnalysisEtReconstructedPhos::GetCorrectionModification(const AliESDC
     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.
+      Double_t E = cluster.E();
+      factor = 1.0*E;
+    }
   }
   return factor;
 }
index 31e186069d8bbcd03f02500d45b1f5b1183aafb3..7c62b9a823479254ed64ad187ab6c98c18494c4b 100644 (file)
@@ -55,7 +55,7 @@ protected:
     virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
 
 
-    virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr);//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 mult);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr  0 = nominal 1 = high -1 = low
     
 private:
 
index c0a67abb6810034601d1d8a7d83a4f00cc2f0140..56c63a1bd2667d78468b61108030bf86db47eb54 100644 (file)
@@ -71,9 +71,10 @@ AliAnalysisEtTrackMatchCorrections& AliAnalysisEtTrackMatchCorrections::operator
     return *this;
 }
 
-Double_t AliAnalysisEtTrackMatchCorrections::TrackMatchingEfficiency(float pT, int mult) const{
+Double_t AliAnalysisEtTrackMatchCorrections::TrackMatchingEfficiency(Float_t pT, Int_t mult) const{
   Double_t eff = 1.0;
   if(fRecoEff) eff =  fRecoEff->GetBinContent(fRecoEff->GetXaxis()->FindBin(pT),fRecoEff->GetXaxis()->FindBin(mult));
   //cout <<"eff "<<eff<<endl;
-  return eff;
+  if(eff>1e-5){return eff;}
+  else{return 1.0;}
 }
index bbdb45582b2d7fb9f81430294a016e601d077cb6..95cd46237ee912dd226826a76a79f32968e23e79 100644 (file)
@@ -64,7 +64,7 @@ public:
         return fSecondaryContr->Eval(mult)*fMeanSecondary;
     }
 
-    Double_t TrackMatchingEfficiency(float pT, int mult) const;
+    Double_t TrackMatchingEfficiency(Float_t pT, Int_t mult) const;
 
 
 // Setters