]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding centrality dependent histograms and implementing centrality dependent efficien...
authorcnattras <cnattras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Mar 2011 18:49:10 +0000 (18:49 +0000)
committercnattras <cnattras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Mar 2011 18:49:10 +0000 (18:49 +0000)
PWG4/totEt/AliAnalysisHadEtReconstructed.cxx

index 38b67f47fc192c12ddac9b29e573b7d31604ac92..825e432e1847d3f794406df7fb4b26244a8577e9 100644 (file)
@@ -26,6 +26,7 @@
 #include "TString.h"
 #include "AliAnalysisEtCommon.h"
 #include "AliAnalysisHadEt.h"
+#include "AliCentrality.h"
 #include "AliLog.h"
 
 using namespace std;
@@ -34,51 +35,51 @@ ClassImp(AliAnalysisHadEtReconstructed);
 
 
 AliAnalysisHadEtReconstructed::AliAnalysisHadEtReconstructed() :
-        AliAnalysisHadEt()
-       ,fCorrections(0)
-       ,fConfigFile("ConfigHadEtAnalysis.C")
-       ,fCorrTotEtFullAcceptanceTPC(0)
-       ,fCorrTotEtFullAcceptanceITS(0)
-       ,fCorrHadEtFullAcceptanceTPC(0)
-       ,fCorrHadEtFullAcceptanceITS(0)
-       ,fCorrTotEtEMCALAcceptanceTPC(0)
-       ,fCorrTotEtEMCALAcceptanceITS(0)
-       ,fCorrHadEtEMCALAcceptanceTPC(0)
-       ,fCorrHadEtEMCALAcceptanceITS(0)
-       ,fCorrTotEtPHOSAcceptanceTPC(0)
-       ,fCorrTotEtPHOSAcceptanceITS(0)
-       ,fCorrHadEtPHOSAcceptanceTPC(0)
-       ,fCorrHadEtPHOSAcceptanceITS(0)
-       ,fCorrectedHadEtFullAcceptanceTPCNoPID(0)
-       ,fCorrectedHadEtFullAcceptanceITSNoPID(0)
-       ,fCorrectedHadEtEMCALAcceptanceTPCNoPID(0)
-       ,fCorrectedHadEtEMCALAcceptanceITSNoPID(0)
-       ,fCorrectedHadEtPHOSAcceptanceTPCNoPID(0)
-       ,fCorrectedHadEtPHOSAcceptanceITSNoPID(0)
-       ,fCorrectedHadEtFullAcceptanceTPC(0)
-       ,fCorrectedHadEtFullAcceptanceITS(0)
-       ,fCorrectedHadEtFullAcceptanceTPCAssumingPion(0)
-       ,fCorrectedHadEtFullAcceptanceITSAssumingPion(0)
-       ,fCorrectedHadEtFullAcceptanceTPCAssumingProton(0)
-       ,fCorrectedHadEtFullAcceptanceITSAssumingProton(0)
-       ,fCorrectedHadEtFullAcceptanceTPCAssumingKaon(0)
-       ,fCorrectedHadEtFullAcceptanceITSAssumingKaon(0)
-       ,fCorrectedHadEtEMCALAcceptanceTPC(0)
-       ,fCorrectedHadEtEMCALAcceptanceITS(0)
-       ,fCorrectedHadEtPHOSAcceptanceTPC(0)
-       ,fCorrectedHadEtPHOSAcceptanceITS(0)
-       ,fRawEtFullAcceptanceTPC(0)
-       ,fRawEtFullAcceptanceITS(0)
-       ,fRawEtEMCALAcceptanceTPC(0)
-       ,fRawEtEMCALAcceptanceITS(0)
-       ,fRawEtPHOSAcceptanceTPC(0)
-       ,fRawEtPHOSAcceptanceITS(0)
-       ,fRawEtFullAcceptanceTPCNoPID(0)
-       ,fRawEtFullAcceptanceITSNoPID(0)
-       ,fRawEtEMCALAcceptanceTPCNoPID(0)
-       ,fRawEtEMCALAcceptanceITSNoPID(0)
-       ,fRawEtPHOSAcceptanceTPCNoPID(0)
-       ,fRawEtPHOSAcceptanceITSNoPID(0)
+  AliAnalysisHadEt()
+  ,fCorrections(0)
+  ,fConfigFile("ConfigHadEtAnalysis.C")
+  ,fCorrTotEtFullAcceptanceTPC(0)
+  ,fCorrTotEtFullAcceptanceITS(0)
+  ,fCorrHadEtFullAcceptanceTPC(0)
+  ,fCorrHadEtFullAcceptanceITS(0)
+  ,fCorrTotEtEMCALAcceptanceTPC(0)
+  ,fCorrTotEtEMCALAcceptanceITS(0)
+  ,fCorrHadEtEMCALAcceptanceTPC(0)
+  ,fCorrHadEtEMCALAcceptanceITS(0)
+  ,fCorrTotEtPHOSAcceptanceTPC(0)
+  ,fCorrTotEtPHOSAcceptanceITS(0)
+  ,fCorrHadEtPHOSAcceptanceTPC(0)
+  ,fCorrHadEtPHOSAcceptanceITS(0)
+  ,fCorrectedHadEtFullAcceptanceTPCNoPID(0)
+  ,fCorrectedHadEtFullAcceptanceITSNoPID(0)
+  ,fCorrectedHadEtEMCALAcceptanceTPCNoPID(0)
+  ,fCorrectedHadEtEMCALAcceptanceITSNoPID(0)
+  ,fCorrectedHadEtPHOSAcceptanceTPCNoPID(0)
+  ,fCorrectedHadEtPHOSAcceptanceITSNoPID(0)
+  ,fCorrectedHadEtFullAcceptanceTPC(0)
+  ,fCorrectedHadEtFullAcceptanceITS(0)
+  ,fCorrectedHadEtFullAcceptanceTPCAssumingPion(0)
+  ,fCorrectedHadEtFullAcceptanceITSAssumingPion(0)
+  ,fCorrectedHadEtFullAcceptanceTPCAssumingProton(0)
+  ,fCorrectedHadEtFullAcceptanceITSAssumingProton(0)
+  ,fCorrectedHadEtFullAcceptanceTPCAssumingKaon(0)
+  ,fCorrectedHadEtFullAcceptanceITSAssumingKaon(0)
+  ,fCorrectedHadEtEMCALAcceptanceTPC(0)
+  ,fCorrectedHadEtEMCALAcceptanceITS(0)
+  ,fCorrectedHadEtPHOSAcceptanceTPC(0)
+  ,fCorrectedHadEtPHOSAcceptanceITS(0)
+  ,fRawEtFullAcceptanceTPC(0)
+  ,fRawEtFullAcceptanceITS(0)
+  ,fRawEtEMCALAcceptanceTPC(0)
+  ,fRawEtEMCALAcceptanceITS(0)
+  ,fRawEtPHOSAcceptanceTPC(0)
+  ,fRawEtPHOSAcceptanceITS(0)
+  ,fRawEtFullAcceptanceTPCNoPID(0)
+  ,fRawEtFullAcceptanceITSNoPID(0)
+  ,fRawEtEMCALAcceptanceTPCNoPID(0)
+  ,fRawEtEMCALAcceptanceITSNoPID(0)
+  ,fRawEtPHOSAcceptanceTPCNoPID(0)
+  ,fRawEtPHOSAcceptanceITSNoPID(0)
 {
 }
 
@@ -89,240 +90,254 @@ AliAnalysisHadEtReconstructed::~AliAnalysisHadEtReconstructed()
 
 Int_t AliAnalysisHadEtReconstructed::AnalyseEvent(AliVEvent* ev)
 { // analyse ESD event
-    ResetEventValues();
+  ResetEventValues();
   if(!ev){
     AliFatal("ERROR: Event does not exist");   
     return 0;
   }
 
-    AliESDEvent *realEvent = dynamic_cast<AliESDEvent*>(ev);
-    if(!realEvent){  
-      AliFatal("ERROR: ESD Event does not exist");
-      return 0;
+  AliESDEvent *realEvent = dynamic_cast<AliESDEvent*>(ev);
+  if(!realEvent){  
+    AliFatal("ERROR: ESD Event does not exist");
+    return 0;
+  }
+  fCentBin= -1;
+  if(fDataSet==20100){//If this is Pb+Pb
+    AliCentrality *centrality = realEvent->GetCentrality();
+    if(fNCentBins<20) fCentBin= centrality->GetCentralityClass10(fCentralityMethod);
+    else{ fCentBin= centrality->GetCentralityClass5(fCentralityMethod);}
+  }
+  //for PID
+  AliESDpid *pID = new AliESDpid();
+  pID->MakePID(realEvent);
+  TString *strTPC = new TString("TPC");
+  TString *strITS = new TString("ITS");
+  TString *strTPCITS = new TString("TPCITS");
+  for(Int_t cutset=0;cutset<2;cutset++){
+    bool isTPC = false;
+    TString *cutName = NULL;
+    TObjArray* list = NULL;
+    switch(cutset){
+    case 0:
+      cutName = strTPCITS;
+      list = fEsdtrackCutsITSTPC->GetAcceptedTracks(realEvent);
+      isTPC = true;
+      break;
+    case 1:
+      cutName = strITS;
+      list = fEsdtrackCutsITS->GetAcceptedTracks(realEvent);
+      break;
+    case 2:
+      cutName = strTPC;
+      list = fEsdtrackCutsTPC->GetAcceptedTracks(realEvent);
+      break;
+    default:
+      cerr<<"Error:  cannot fill histograms!"<<endl;
+      return -1;
     }
-    //for PID
-    AliESDpid *pID = new AliESDpid();
-    pID->MakePID(realEvent);
-    TString *strTPC = new TString("TPC");
-    TString *strITS = new TString("ITS");
-    TString *strTPCITS = new TString("TPCITS");
-    for(Int_t cutset=0;cutset<2;cutset++){
-      bool isTPC = false;
-      TString *cutName = NULL;
-      TObjArray* list = NULL;
-      switch(cutset){
-      case 0:
-       cutName = strTPCITS;
-       list = fEsdtrackCutsITSTPC->GetAcceptedTracks(realEvent);
-       isTPC = true;
-       break;
-      case 1:
-       cutName = strITS;
-       list = fEsdtrackCutsITS->GetAcceptedTracks(realEvent);
-       break;
-      case 2:
-       cutName = strTPC;
-       list = fEsdtrackCutsTPC->GetAcceptedTracks(realEvent);
-       break;
-      default:
-       cerr<<"Error:  cannot fill histograms!"<<endl;
-       return -1;
-      }
-      Int_t nGoodTracks = list->GetEntries();
-      for (Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++)
-       {
+    Int_t nGoodTracks = list->GetEntries();
+    for (Int_t iTrack = 0; iTrack < nGoodTracks; iTrack++)
+      {
 
 
-         AliESDtrack *track = dynamic_cast<AliESDtrack*> (list->At(iTrack));
-         if (!track)
-           {
-             Printf("ERROR: Could not get track %d", iTrack);
-             continue;
-           }
+       AliESDtrack *track = dynamic_cast<AliESDtrack*> (list->At(iTrack));
+       if (!track)
+         {
+           Printf("ERROR: Could not get track %d", iTrack);
+           continue;
+         }
+       else{
+         if(TMath::Abs(track->Eta())>fCorrections->GetEtaCut()) continue;
+         Float_t nSigmaPion,nSigmaProton,nSigmaKaon,nSigmaElectron;
+         if(cutset!=1){
+           nSigmaPion = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kPion));
+           nSigmaProton = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kProton));
+           nSigmaKaon = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kKaon));
+           nSigmaElectron = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kElectron));
+         }
          else{
-           if(TMath::Abs(track->Eta())>fCorrections->GetEtaCut()) continue;
-           Float_t nSigmaPion,nSigmaProton,nSigmaKaon,nSigmaElectron;
-           if(cutset!=1){
-             nSigmaPion = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kPion));
-             nSigmaProton = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kProton));
-             nSigmaKaon = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kKaon));
-             nSigmaElectron = TMath::Abs(pID->NumberOfSigmasTPC(track,AliPID::kElectron));
-           }
-           else{
-             nSigmaPion = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kPion));
-             nSigmaProton = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kProton));
-             nSigmaKaon = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kKaon));
-             nSigmaElectron = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kElectron));
-           }
-//         bool isPion = (nSigmaPion<3.0 && nSigmaProton>2.0 && nSigmaKaon>2.0);
-//         bool isElectron = (nSigmaElectron<2.0 && nSigmaPion>4.0 && nSigmaProton>3.0 && nSigmaKaon>3.0);
-//         bool isKaon = (nSigmaPion>3.0 && nSigmaProton>2.0 && nSigmaKaon<2.0);
-//         bool isProton = (nSigmaPion>3.0 && nSigmaProton<2.0 && nSigmaKaon>2.0);
+           nSigmaPion = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kPion));
+           nSigmaProton = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kProton));
+           nSigmaKaon = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kKaon));
+           nSigmaElectron = TMath::Abs(pID->NumberOfSigmasITS(track,AliPID::kElectron));
+         }
+         //        bool isPion = (nSigmaPion<3.0 && nSigmaProton>2.0 && nSigmaKaon>2.0);
+         //        bool isElectron = (nSigmaElectron<2.0 && nSigmaPion>4.0 && nSigmaProton>3.0 && nSigmaKaon>3.0);
+         //        bool isKaon = (nSigmaPion>3.0 && nSigmaProton>2.0 && nSigmaKaon<2.0);
+         //        bool isProton = (nSigmaPion>3.0 && nSigmaProton<2.0 && nSigmaKaon>2.0);
          bool isPion = (nSigmaPion<3.0 && nSigmaProton>2.0 && nSigmaKaon>2.0);
          bool isElectron = (nSigmaElectron<2.0 && nSigmaPion>4.0 && nSigmaProton>3.0 && nSigmaKaon>3.0);
          bool isKaon = (nSigmaPion>3.0 && nSigmaProton>3.0 && nSigmaKaon<3.0 && track->Pt()<0.45);
          bool isProton = (nSigmaPion>3.0 && nSigmaProton<3.0 && nSigmaKaon>3.0 && track->Pt()<0.9);
 
-           bool unidentified = (!isProton && !isKaon && !isElectron && !isPion);
-           Float_t dEdx = track->GetTPCsignal();
-           if(cutset==1) dEdx = track->GetITSsignal();
-           FillHisto2D(Form("dEdxDataAll%s",cutName->Data()),track->P(),dEdx,1.0);
+         bool unidentified = (!isProton && !isKaon && !isElectron && !isPion);
+         Float_t dEdx = track->GetTPCsignal();
+         if(cutset==1) dEdx = track->GetITSsignal();
+         FillHisto2D(Form("dEdxDataAll%s",cutName->Data()),track->P(),dEdx,1.0);
 
-           bool inPHOS = IsInPHOS(track);
-           bool inEMCAL = IsInEMCAL(track);
+         bool inPHOS = IsInPHOS(track);
+         bool inEMCAL = IsInEMCAL(track);
 
-           Float_t corrBkgd=0.0;
-           Float_t corrNotID=0.0;
-           Float_t corrNoID=0.0;// = fCorrections->GetNotIDCorrectionNoPID(track->Pt());
-           Float_t corrEff = 0.0;
-           Float_t corrEffNoID = 0.0;
-           if(cutset==0){//TPC
-             corrBkgd = fCorrections->GetBackgroundCorrectionTPC(track->Pt());
-             corrEffNoID = fCorrections->GetTPCEfficiencyCorrectionHadron(track->Pt());
-             corrNotID = fCorrections->GetNotIDConstCorrectionTPC();
-             corrNoID = fCorrections->GetNotIDConstCorrectionTPCNoID();
-           }
-           if(cutset==1){//ITS
-             corrBkgd = fCorrections->GetBackgroundCorrectionITS(track->Pt());
-             corrEffNoID = fCorrections->GetITSEfficiencyCorrectionHadron(track->Pt());
-             corrNotID = fCorrections->GetNotIDConstCorrectionITS();
-             corrNoID = fCorrections->GetNotIDConstCorrectionITSNoID();
-           }
-           Float_t et = 0.0;
-           Float_t etNoID = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
-           Float_t etpartialcorrected = 0.0;
-           Float_t etpartialcorrectedPion = 0.0;
-           Float_t etpartialcorrectedKaon = 0.0;
-           Float_t etpartialcorrectedProton = 0.0;
-           Float_t etpartialcorrectedNoID = corrNoID*corrBkgd*corrEffNoID*etNoID;
-           FillHisto2D(Form("EtDataRaw%sNoID",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrectedNoID);
+         Float_t corrBkgd=0.0;
+         Float_t corrNotID=0.0;
+         Float_t corrNoID=0.0;// = fCorrections->GetNotIDCorrectionNoPID(track->Pt());
+         Float_t corrEff = 0.0;
+         Float_t corrEffNoID = 0.0;
+         if(cutset==0){//TPC
+           corrBkgd = fCorrections->GetBackgroundCorrectionTPC(track->Pt());
+           corrEffNoID = fCorrections->GetTPCEfficiencyCorrectionHadron(track->Pt(),fCentBin);
+           corrNotID = fCorrections->GetNotIDConstCorrectionTPC();
+           corrNoID = fCorrections->GetNotIDConstCorrectionTPCNoID();
+         }
+         if(cutset==1){//ITS
+           corrBkgd = fCorrections->GetBackgroundCorrectionITS(track->Pt());
+           corrEffNoID = fCorrections->GetITSEfficiencyCorrectionHadron(track->Pt(),fCentBin);
+           corrNotID = fCorrections->GetNotIDConstCorrectionITS();
+           corrNoID = fCorrections->GetNotIDConstCorrectionITSNoID();
+         }
+         Float_t et = 0.0;
+         Float_t etNoID = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
+         Float_t etpartialcorrected = 0.0;
+         Float_t etpartialcorrectedPion = 0.0;
+         Float_t etpartialcorrectedKaon = 0.0;
+         Float_t etpartialcorrectedProton = 0.0;
+         Float_t etpartialcorrectedNoID = corrNoID*corrBkgd*corrEffNoID*etNoID;
+         FillHisto2D(Form("EtDataRaw%sNoID",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrectedNoID);
 
-           if(isPion){
-             FillHisto2D(Form("dEdxDataPion%s",cutName->Data()),track->P(),dEdx,1.0);
-             et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
-             if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionPion(track->Pt());}
-             //else{corrEff = fCorrections->GetITSEfficiencyCorrectionPion(track->Pt());}
-             etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
+         if(isPion){
+           FillHisto2D(Form("dEdxDataPion%s",cutName->Data()),track->P(),dEdx,1.0);
+           et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
+           if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionPion(track->Pt(),fCentBin);}
+           //else{corrEff = fCorrections->GetITSEfficiencyCorrectionPion(track->Pt());}
+           etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
              
-             if(track->Charge()>0.0){
-               FillHisto2D(Form("EtDataRaw%sPiPlus",cutName->Data()),track->Pt(),track->Eta(),et);
-               FillHisto2D(Form("EtDataCorrected%sPiPlus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
-             }
-             else{
-               FillHisto2D(Form("EtDataRaw%sPiMinus",cutName->Data()),track->Pt(),track->Eta(),et);
-               FillHisto2D(Form("EtDataCorrected%sPiMinus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
-             }
+           if(track->Charge()>0.0){
+             FillHisto2D(Form("EtDataRaw%sPiPlus",cutName->Data()),track->Pt(),track->Eta(),et);
+             FillHisto2D(Form("EtDataCorrected%sPiPlus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
            }
-           if(isKaon){
-             FillHisto2D(Form("dEdxDataKaon%s",cutName->Data()),track->P(),dEdx,1.0);
-             et = Et(track->P(),track->Theta(),fgKPlusCode,track->Charge());
-             if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionKaon(track->Pt());}
-             //else{corrEff = fCorrections->GetITSEfficiencyCorrectionKaon(track->Pt());}
-             etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
-             
-             if(track->Charge()>0.0){
-               FillHisto2D(Form("EtDataRaw%sKPlus",cutName->Data()),track->Pt(),track->Eta(),et);
-               FillHisto2D(Form("EtDataCorrected%sKPlus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
-             }
-             else{
-               FillHisto2D(Form("EtDataRaw%sKMinus",cutName->Data()),track->Pt(),track->Eta(),et);
-               FillHisto2D(Form("EtDataCorrected%sKMinus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
-             }
+           else{
+             FillHisto2D(Form("EtDataRaw%sPiMinus",cutName->Data()),track->Pt(),track->Eta(),et);
+             FillHisto2D(Form("EtDataCorrected%sPiMinus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
            }
-           if(isProton){
-             FillHisto2D(Form("dEdxDataProton%s",cutName->Data()),track->P(),dEdx,1.0);
-             et = Et(track->P(),track->Theta(),fgProtonCode,track->Charge());
-             if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionProton(track->Pt());}
-             //else{corrEff = fCorrections->GetITSEfficiencyCorrectionProton(track->Pt());}
-             etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
+         }
+         if(isKaon){
+           FillHisto2D(Form("dEdxDataKaon%s",cutName->Data()),track->P(),dEdx,1.0);
+           et = Et(track->P(),track->Theta(),fgKPlusCode,track->Charge());
+           if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionKaon(track->Pt(),fCentBin);}
+           //else{corrEff = fCorrections->GetITSEfficiencyCorrectionKaon(track->Pt(),fCentBin);}
+           etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
              
-             if(track->Charge()>0.0){
-               FillHisto2D(Form("EtDataRaw%sProton",cutName->Data()),track->Pt(),track->Eta(),et);
-               FillHisto2D(Form("EtDataCorrected%sProton",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
-             }
-             else{
-               FillHisto2D(Form("EtDataRaw%sAntiProton",cutName->Data()),track->Pt(),track->Eta(),et);
-               FillHisto2D(Form("EtDataCorrected%sAntiProton",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
-             }
+           if(track->Charge()>0.0){
+             FillHisto2D(Form("EtDataRaw%sKPlus",cutName->Data()),track->Pt(),track->Eta(),et);
+             FillHisto2D(Form("EtDataCorrected%sKPlus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
            }
-           if(isElectron){
-             FillHisto2D(Form("dEdxDataProton%s",cutName->Data()),track->P(),dEdx,1.0);
-             //et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
+           else{
+             FillHisto2D(Form("EtDataRaw%sKMinus",cutName->Data()),track->Pt(),track->Eta(),et);
+             FillHisto2D(Form("EtDataCorrected%sKMinus",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
            }
-           if(unidentified){
-             //if(!isPion) 
-             FillHisto2D(Form("dEdxDataUnidentified%s",cutName->Data()),track->P(),dEdx,1.0);
-             et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
-             Float_t etProton = Et(track->P(),track->Theta(),fgProtonCode,track->Charge());
-             Float_t etKaon = Et(track->P(),track->Theta(),fgKPlusCode,track->Charge());
-             etpartialcorrected = et*corrBkgd*corrEffNoID*corrNotID;
-             etpartialcorrectedPion = et*corrBkgd*corrEffNoID;
-             etpartialcorrectedProton = etProton*corrBkgd*corrEffNoID;
-             etpartialcorrectedKaon = etKaon*corrBkgd*corrEffNoID;
-             //if(!isPion) 
-             FillHisto2D(Form("EtDataCorrected%sUnidentified",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
+         }
+         if(isProton){
+           FillHisto2D(Form("dEdxDataProton%s",cutName->Data()),track->P(),dEdx,1.0);
+           et = Et(track->P(),track->Theta(),fgProtonCode,track->Charge());
+           if(cutset==0){corrEff = fCorrections->GetTPCEfficiencyCorrectionProton(track->Pt(),fCentBin);}
+           //else{corrEff = fCorrections->GetITSEfficiencyCorrectionProton(track->Pt());}
+           etpartialcorrected = et*corrBkgd*corrEff*corrNotID;
+             
+           if(track->Charge()>0.0){
+             FillHisto2D(Form("EtDataRaw%sProton",cutName->Data()),track->Pt(),track->Eta(),et);
+             FillHisto2D(Form("EtDataCorrected%sProton",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
            }
            else{
-             etpartialcorrectedPion = etpartialcorrected;
-             etpartialcorrectedKaon = etpartialcorrected;
-             etpartialcorrectedProton = etpartialcorrected;
-           }
-           if(!isTPC){
-             etpartialcorrected = etpartialcorrectedNoID;//Not using PID for ITS
+             FillHisto2D(Form("EtDataRaw%sAntiProton",cutName->Data()),track->Pt(),track->Eta(),et);
+             FillHisto2D(Form("EtDataCorrected%sAntiProton",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
            }
-           AddEt(et,etNoID,etpartialcorrected,etpartialcorrectedPion,etpartialcorrectedProton,etpartialcorrectedKaon,etpartialcorrectedNoID,track->Pt(),isTPC,inPHOS,inEMCAL);
          }
+         if(isElectron){
+           FillHisto2D(Form("dEdxDataProton%s",cutName->Data()),track->P(),dEdx,1.0);
+           //et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
+         }
+         if(unidentified){
+           //if(!isPion) 
+           FillHisto2D(Form("dEdxDataUnidentified%s",cutName->Data()),track->P(),dEdx,1.0);
+           et = Et(track->P(),track->Theta(),fgPiPlusCode,track->Charge());
+           Float_t etProton = Et(track->P(),track->Theta(),fgProtonCode,track->Charge());
+           Float_t etKaon = Et(track->P(),track->Theta(),fgKPlusCode,track->Charge());
+           etpartialcorrected = et*corrBkgd*corrEffNoID*corrNotID;
+           etpartialcorrectedPion = et*corrBkgd*corrEffNoID;
+           etpartialcorrectedProton = etProton*corrBkgd*corrEffNoID;
+           etpartialcorrectedKaon = etKaon*corrBkgd*corrEffNoID;
+           //if(!isPion) 
+           FillHisto2D(Form("EtDataCorrected%sUnidentified",cutName->Data()),track->Pt(),track->Eta(),etpartialcorrected);
+         }
+         else{
+           etpartialcorrectedPion = etpartialcorrected;
+           etpartialcorrectedKaon = etpartialcorrected;
+           etpartialcorrectedProton = etpartialcorrected;
+         }
+         if(!isTPC){
+           etpartialcorrected = etpartialcorrectedNoID;//Not using PID for ITS
+         }
+         AddEt(et,etNoID,etpartialcorrected,etpartialcorrectedPion,etpartialcorrectedProton,etpartialcorrectedKaon,etpartialcorrectedNoID,track->Pt(),isTPC,inPHOS,inEMCAL);
        }
-      delete list;
-    }
-    if(GetCorrectedHadEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPC",GetCorrectedHadEtFullAcceptanceTPC(),1.0);
-    if(GetCorrectedTotEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtFullAcceptanceTPC",GetCorrectedTotEtFullAcceptanceTPC(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceTPCAssumingPion()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingPion",GetCorrectedHadEtFullAcceptanceTPCAssumingPion(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceTPCAssumingProton()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingProton",GetCorrectedHadEtFullAcceptanceTPCAssumingProton(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceTPCAssumingKaon()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingKaon",GetCorrectedHadEtFullAcceptanceTPCAssumingKaon(),1.0);
-    if(GetCorrectedHadEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceTPC",GetCorrectedHadEtEMCALAcceptanceTPC(),1.0);
-    if(GetCorrectedTotEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceTPC",GetCorrectedTotEtEMCALAcceptanceTPC(),1.0);
-    if(GetCorrectedHadEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceTPC",GetCorrectedHadEtPHOSAcceptanceTPC(),1.0);
-    if(GetCorrectedTotEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceTPC",GetCorrectedTotEtPHOSAcceptanceTPC(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCNoPID",GetCorrectedHadEtFullAcceptanceTPCNoPID(),1.0);
-    if(GetCorrectedTotEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtFullAcceptanceTPCNoPID",GetCorrectedTotEtFullAcceptanceTPCNoPID(),1.0);
-    if(GetCorrectedHadEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceTPCNoPID",GetCorrectedHadEtEMCALAcceptanceTPCNoPID(),1.0);
-    if(GetCorrectedTotEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceTPCNoPID",GetCorrectedTotEtEMCALAcceptanceTPCNoPID(),1.0);
-    if(GetCorrectedHadEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceTPCNoPID",GetCorrectedHadEtPHOSAcceptanceTPCNoPID(),1.0);
-    if(GetCorrectedTotEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceTPCNoPID",GetCorrectedTotEtPHOSAcceptanceTPCNoPID(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceITS()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITS",GetCorrectedHadEtFullAcceptanceITS(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceITSAssumingPion()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingPion",GetCorrectedHadEtFullAcceptanceITSAssumingPion(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceITSAssumingProton()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingProton",GetCorrectedHadEtFullAcceptanceITSAssumingProton(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceITSAssumingKaon()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingKaon",GetCorrectedHadEtFullAcceptanceITSAssumingKaon(),1.0);
-    if(GetCorrectedTotEtFullAcceptanceITS()>0.0)FillHisto1D("RecoTotEtFullAcceptanceITS",GetCorrectedTotEtFullAcceptanceITS(),1.0);
-    if(GetCorrectedHadEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceITS",GetCorrectedHadEtEMCALAcceptanceITS(),1.0);
-    if(GetCorrectedTotEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceITS",GetCorrectedTotEtEMCALAcceptanceITS(),1.0);
-    if(GetCorrectedHadEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceITS",GetCorrectedHadEtPHOSAcceptanceITS(),1.0);
-    if(GetCorrectedTotEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceITS",GetCorrectedTotEtPHOSAcceptanceITS(),1.0);
-    if(GetCorrectedHadEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSNoPID",GetCorrectedHadEtFullAcceptanceITSNoPID(),1.0);
-    if(GetCorrectedTotEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtFullAcceptanceITSNoPID",GetCorrectedTotEtFullAcceptanceITSNoPID(),1.0);
-    if(GetCorrectedHadEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceITSNoPID",GetCorrectedHadEtEMCALAcceptanceITSNoPID(),1.0);
-    if(GetCorrectedTotEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceITSNoPID",GetCorrectedTotEtEMCALAcceptanceITSNoPID(),1.0);
-    if(GetCorrectedHadEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceITSNoPID",GetCorrectedHadEtPHOSAcceptanceITSNoPID(),1.0);
-    if(GetCorrectedTotEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceITSNoPID",GetCorrectedTotEtPHOSAcceptanceITSNoPID(),1.0);
+      }
+    delete list;
+  }
+  if(GetCorrectedHadEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPC",GetCorrectedHadEtFullAcceptanceTPC(),1.0);
+  if(GetCorrectedTotEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtFullAcceptanceTPC",GetCorrectedTotEtFullAcceptanceTPC(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceTPCAssumingPion()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingPion",GetCorrectedHadEtFullAcceptanceTPCAssumingPion(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceTPCAssumingProton()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingProton",GetCorrectedHadEtFullAcceptanceTPCAssumingProton(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceTPCAssumingKaon()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCAssumingKaon",GetCorrectedHadEtFullAcceptanceTPCAssumingKaon(),1.0);
+  if(GetCorrectedHadEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceTPC",GetCorrectedHadEtEMCALAcceptanceTPC(),1.0);
+  if(GetCorrectedTotEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceTPC",GetCorrectedTotEtEMCALAcceptanceTPC(),1.0);
+  if(GetCorrectedHadEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceTPC",GetCorrectedHadEtPHOSAcceptanceTPC(),1.0);
+  if(GetCorrectedTotEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceTPC",GetCorrectedTotEtPHOSAcceptanceTPC(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtFullAcceptanceTPCNoPID",GetCorrectedHadEtFullAcceptanceTPCNoPID(),1.0);
+  if(GetCorrectedTotEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtFullAcceptanceTPCNoPID",GetCorrectedTotEtFullAcceptanceTPCNoPID(),1.0);
+  if(GetCorrectedHadEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceTPCNoPID",GetCorrectedHadEtEMCALAcceptanceTPCNoPID(),1.0);
+  if(GetCorrectedTotEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceTPCNoPID",GetCorrectedTotEtEMCALAcceptanceTPCNoPID(),1.0);
+  if(GetCorrectedHadEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceTPCNoPID",GetCorrectedHadEtPHOSAcceptanceTPCNoPID(),1.0);
+  if(GetCorrectedTotEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceTPCNoPID",GetCorrectedTotEtPHOSAcceptanceTPCNoPID(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceITS()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITS",GetCorrectedHadEtFullAcceptanceITS(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceITSAssumingPion()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingPion",GetCorrectedHadEtFullAcceptanceITSAssumingPion(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceITSAssumingProton()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingProton",GetCorrectedHadEtFullAcceptanceITSAssumingProton(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceITSAssumingKaon()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSAssumingKaon",GetCorrectedHadEtFullAcceptanceITSAssumingKaon(),1.0);
+  if(GetCorrectedTotEtFullAcceptanceITS()>0.0)FillHisto1D("RecoTotEtFullAcceptanceITS",GetCorrectedTotEtFullAcceptanceITS(),1.0);
+  if(GetCorrectedHadEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceITS",GetCorrectedHadEtEMCALAcceptanceITS(),1.0);
+  if(GetCorrectedTotEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceITS",GetCorrectedTotEtEMCALAcceptanceITS(),1.0);
+  if(GetCorrectedHadEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceITS",GetCorrectedHadEtPHOSAcceptanceITS(),1.0);
+  if(GetCorrectedTotEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceITS",GetCorrectedTotEtPHOSAcceptanceITS(),1.0);
+  if(GetCorrectedHadEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtFullAcceptanceITSNoPID",GetCorrectedHadEtFullAcceptanceITSNoPID(),1.0);
+  if(GetCorrectedTotEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtFullAcceptanceITSNoPID",GetCorrectedTotEtFullAcceptanceITSNoPID(),1.0);
+  if(GetCorrectedHadEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtEMCALAcceptanceITSNoPID",GetCorrectedHadEtEMCALAcceptanceITSNoPID(),1.0);
+  if(GetCorrectedTotEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtEMCALAcceptanceITSNoPID",GetCorrectedTotEtEMCALAcceptanceITSNoPID(),1.0);
+  if(GetCorrectedHadEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoHadEtPHOSAcceptanceITSNoPID",GetCorrectedHadEtPHOSAcceptanceITSNoPID(),1.0);
+  if(GetCorrectedTotEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoTotEtPHOSAcceptanceITSNoPID",GetCorrectedTotEtPHOSAcceptanceITSNoPID(),1.0);
 
-    if(GetRawEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtFullAcceptanceTPC",GetRawEtFullAcceptanceTPC(),1.0);
-    if(GetRawEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceTPC",GetRawEtEMCALAcceptanceTPC(),1.0);
-    if(GetRawEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceTPC",GetRawEtPHOSAcceptanceTPC(),1.0);
-    if(GetRawEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtFullAcceptanceTPCNoPID",GetRawEtFullAcceptanceTPCNoPID(),1.0);
-    if(GetRawEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceTPCNoPID",GetRawEtEMCALAcceptanceTPCNoPID(),1.0);
-    if(GetRawEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceTPCNoPID",GetRawEtPHOSAcceptanceTPCNoPID(),1.0);
-    if(GetRawEtFullAcceptanceITS()>0.0)FillHisto1D("RecoRawEtFullAcceptanceITS",GetRawEtFullAcceptanceITS(),1.0);
-    if(GetRawEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceITS",GetRawEtEMCALAcceptanceITS(),1.0);
-    if(GetRawEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceITS",GetRawEtPHOSAcceptanceITS(),1.0);
-    if(GetRawEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtFullAcceptanceITSNoPID",GetRawEtFullAcceptanceITSNoPID(),1.0);
-    if(GetRawEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceITSNoPID",GetRawEtEMCALAcceptanceITSNoPID(),1.0);
-    if(GetRawEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceITSNoPID",GetRawEtPHOSAcceptanceITSNoPID(),1.0);
-    delete pID;
-    delete strTPC;
-    delete strITS;
-    delete strTPCITS;
-    return 1;
+  if(GetRawEtFullAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtFullAcceptanceTPC",GetRawEtFullAcceptanceTPC(),1.0);
+  if(GetRawEtEMCALAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceTPC",GetRawEtEMCALAcceptanceTPC(),1.0);
+  if(GetRawEtPHOSAcceptanceTPC()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceTPC",GetRawEtPHOSAcceptanceTPC(),1.0);
+  if(GetRawEtFullAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtFullAcceptanceTPCNoPID",GetRawEtFullAcceptanceTPCNoPID(),1.0);
+  if(GetRawEtEMCALAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceTPCNoPID",GetRawEtEMCALAcceptanceTPCNoPID(),1.0);
+  if(GetRawEtPHOSAcceptanceTPCNoPID()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceTPCNoPID",GetRawEtPHOSAcceptanceTPCNoPID(),1.0);
+  if(GetRawEtFullAcceptanceITS()>0.0)FillHisto1D("RecoRawEtFullAcceptanceITS",GetRawEtFullAcceptanceITS(),1.0);
+  if(GetRawEtEMCALAcceptanceITS()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceITS",GetRawEtEMCALAcceptanceITS(),1.0);
+  if(GetRawEtPHOSAcceptanceITS()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceITS",GetRawEtPHOSAcceptanceITS(),1.0);
+  if(GetRawEtFullAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtFullAcceptanceITSNoPID",GetRawEtFullAcceptanceITSNoPID(),1.0);
+  if(GetRawEtEMCALAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtEMCALAcceptanceITSNoPID",GetRawEtEMCALAcceptanceITSNoPID(),1.0);
+  if(GetRawEtPHOSAcceptanceITSNoPID()>0.0)FillHisto1D("RecoRawEtPHOSAcceptanceITSNoPID",GetRawEtPHOSAcceptanceITSNoPID(),1.0);
+  if(fCentBin>-1){//if we have Pb+Pb and found a centrality bin
+    if(GetCorrectedHadEtFullAcceptanceTPC()>0.0)FillHisto1D(Form("RecoHadEtFullAcceptanceTPCCB%i",fCentBin),GetCorrectedHadEtFullAcceptanceTPC(),1.0);
+    if(GetCorrectedTotEtFullAcceptanceTPC()>0.0)FillHisto1D(Form("RecoTotEtFullAcceptanceTPCCB%i",fCentBin),GetCorrectedTotEtFullAcceptanceTPC(),1.0);
+    if(GetCorrectedHadEtFullAcceptanceITS()>0.0)FillHisto1D(Form("RecoHadEtFullAcceptanceITSCB%i",fCentBin),GetCorrectedHadEtFullAcceptanceITS(),1.0);
+    if(GetCorrectedTotEtFullAcceptanceITS()>0.0)FillHisto1D(Form("RecoTotEtFullAcceptanceITSCB%i",fCentBin),GetCorrectedTotEtFullAcceptanceITS(),1.0);
+    if(GetRawEtFullAcceptanceTPC()>0.0)         FillHisto1D(Form("RecoRawEtFullAcceptanceTPCCB%i",fCentBin),GetRawEtFullAcceptanceTPC(),1.0);
+    if(GetRawEtFullAcceptanceITS()>0.0)         FillHisto1D(Form("RecoRawEtFullAcceptanceITSCB%i",fCentBin),GetRawEtFullAcceptanceITS(),1.0);
+  }
+  delete pID;
+  delete strTPC;
+  delete strITS;
+  delete strTPCITS;
+  return 1;
 }
 void AliAnalysisHadEtReconstructed::AddEt(Float_t rawEt, Float_t rawEtNoPID, Float_t corrEt, Float_t corrEtPion, Float_t corrEtProton, Float_t corrEtKaon, Float_t corrEtNoPID, Float_t pt, Bool_t IsTPC, Bool_t InPHOS, Bool_t InEMCAL) {//Adding Et to each of the variables that tracks et event by event
   if(pt>=AliAnalysisHadEt::fgPtTPCCutOff && IsTPC){//TPC tracks
@@ -386,26 +401,26 @@ Bool_t AliAnalysisHadEtReconstructed::IsInEMCAL(AliESDtrack *track){//This funct
 Bool_t AliAnalysisHadEtReconstructed::CheckGoodVertex(AliVParticle* track)
 { // check vertex
 
-    Float_t bxy = 999.;
-    Float_t bz = 999.;
-    if(!track){
-      AliError("ERROR: no track");
-      return kFALSE;
-    }
-    AliESDtrack *esdTrack = dynamic_cast<AliESDtrack*>(track);
-    if(!esdTrack){
-      AliError("ERROR: no track");
-      return kFALSE;
-    }
-    esdTrack->GetImpactParametersTPC(bxy,bz);
+  Float_t bxy = 999.;
+  Float_t bz = 999.;
+  if(!track){
+    AliError("ERROR: no track");
+    return kFALSE;
+  }
+  AliESDtrack *esdTrack = dynamic_cast<AliESDtrack*>(track);
+  if(!esdTrack){
+    AliError("ERROR: no track");
+    return kFALSE;
+  }
+  esdTrack->GetImpactParametersTPC(bxy,bz);
 
-    bool status = (TMath::Abs(track->Xv()) < fCuts->GetReconstructedVertexXCut()) && 
-      (TMath::Abs(track->Yv()) < fCuts->GetReconstructedVertexYCut()) && 
-      (TMath::Abs(track->Zv()) < fCuts->GetReconstructedVertexZCut()) && 
-      (TMath::Abs(bxy) < fCuts->GetReconstructedIPxyCut()) && 
-      (TMath::Abs(bz) < fCuts->GetReconstructedIPzCut()); 
+  bool status = (TMath::Abs(track->Xv()) < fCuts->GetReconstructedVertexXCut()) && 
+    (TMath::Abs(track->Yv()) < fCuts->GetReconstructedVertexYCut()) && 
+    (TMath::Abs(track->Zv()) < fCuts->GetReconstructedVertexZCut()) && 
+    (TMath::Abs(bxy) < fCuts->GetReconstructedIPxyCut()) && 
+    (TMath::Abs(bz) < fCuts->GetReconstructedIPzCut()); 
 
-    return status;
+  return status;
 }
 
 void AliAnalysisHadEtReconstructed::Init()
@@ -432,57 +447,57 @@ void AliAnalysisHadEtReconstructed::Init()
 
 void AliAnalysisHadEtReconstructed::ResetEventValues(){//resetting event by event et's
   AliAnalysisHadEt::ResetEventValues();
-     fCorrectedHadEtFullAcceptanceTPCNoPID=0.0;
-     fCorrectedHadEtFullAcceptanceITSNoPID=0.0;
-     fCorrectedHadEtEMCALAcceptanceTPCNoPID=0.0;
-     fCorrectedHadEtEMCALAcceptanceITSNoPID=0.0;
-     fCorrectedHadEtPHOSAcceptanceTPCNoPID=0.0;
-     fCorrectedHadEtPHOSAcceptanceITSNoPID=0.0;
-     fCorrectedHadEtFullAcceptanceTPC=0.0;
-     fCorrectedHadEtFullAcceptanceITS=0.0;
-     fCorrectedHadEtFullAcceptanceTPCAssumingPion=0.0;
-     fCorrectedHadEtFullAcceptanceITSAssumingPion=0.0;
-     fCorrectedHadEtFullAcceptanceTPCAssumingProton=0.0;
-     fCorrectedHadEtFullAcceptanceITSAssumingProton=0.0;
-     fCorrectedHadEtFullAcceptanceTPCAssumingKaon=0.0;
-     fCorrectedHadEtFullAcceptanceITSAssumingKaon=0.0;
-     fCorrectedHadEtEMCALAcceptanceTPC=0.0;
-     fCorrectedHadEtEMCALAcceptanceITS=0.0;
-     fCorrectedHadEtPHOSAcceptanceTPC=0.0;
-     fCorrectedHadEtPHOSAcceptanceITS=0.0;
-     fRawEtFullAcceptanceTPC=0.0;
-     fRawEtFullAcceptanceITS=0.0;
-     fRawEtEMCALAcceptanceTPC=0.0;
-     fRawEtEMCALAcceptanceITS=0.0;
-     fRawEtPHOSAcceptanceTPC=0.0;
-     fRawEtPHOSAcceptanceITS=0.0;
-     fRawEtFullAcceptanceTPCNoPID=0.0;
-     fRawEtFullAcceptanceITSNoPID=0.0;
-     fRawEtEMCALAcceptanceTPCNoPID=0.0;
-     fRawEtEMCALAcceptanceITSNoPID=0.0;
-     fRawEtPHOSAcceptanceTPCNoPID=0.0;
-     fRawEtPHOSAcceptanceITSNoPID=0.0;
+  fCorrectedHadEtFullAcceptanceTPCNoPID=0.0;
+  fCorrectedHadEtFullAcceptanceITSNoPID=0.0;
+  fCorrectedHadEtEMCALAcceptanceTPCNoPID=0.0;
+  fCorrectedHadEtEMCALAcceptanceITSNoPID=0.0;
+  fCorrectedHadEtPHOSAcceptanceTPCNoPID=0.0;
+  fCorrectedHadEtPHOSAcceptanceITSNoPID=0.0;
+  fCorrectedHadEtFullAcceptanceTPC=0.0;
+  fCorrectedHadEtFullAcceptanceITS=0.0;
+  fCorrectedHadEtFullAcceptanceTPCAssumingPion=0.0;
+  fCorrectedHadEtFullAcceptanceITSAssumingPion=0.0;
+  fCorrectedHadEtFullAcceptanceTPCAssumingProton=0.0;
+  fCorrectedHadEtFullAcceptanceITSAssumingProton=0.0;
+  fCorrectedHadEtFullAcceptanceTPCAssumingKaon=0.0;
+  fCorrectedHadEtFullAcceptanceITSAssumingKaon=0.0;
+  fCorrectedHadEtEMCALAcceptanceTPC=0.0;
+  fCorrectedHadEtEMCALAcceptanceITS=0.0;
+  fCorrectedHadEtPHOSAcceptanceTPC=0.0;
+  fCorrectedHadEtPHOSAcceptanceITS=0.0;
+  fRawEtFullAcceptanceTPC=0.0;
+  fRawEtFullAcceptanceITS=0.0;
+  fRawEtEMCALAcceptanceTPC=0.0;
+  fRawEtEMCALAcceptanceITS=0.0;
+  fRawEtPHOSAcceptanceTPC=0.0;
+  fRawEtPHOSAcceptanceITS=0.0;
+  fRawEtFullAcceptanceTPCNoPID=0.0;
+  fRawEtFullAcceptanceITSNoPID=0.0;
+  fRawEtEMCALAcceptanceTPCNoPID=0.0;
+  fRawEtEMCALAcceptanceITSNoPID=0.0;
+  fRawEtPHOSAcceptanceTPCNoPID=0.0;
+  fRawEtPHOSAcceptanceITSNoPID=0.0;
 
-     if(TMath::Abs(fCorrTotEtFullAcceptanceTPC)<1e-3){
-       if (fConfigFile.Length()) {
-        cout<<"Warning: Rereading fCorrections file..."<<endl;
-        gROOT->LoadMacro(fConfigFile);
-        fCorrections = (AliAnalysisHadEtCorrections *) gInterpreter->ProcessLine("ConfigHadEtAnalysis()");
-        fCorrTotEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"Full");
-        fCorrTotEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"Full");
-        fCorrHadEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"Full");
-        fCorrHadEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"Full");
-        fCorrTotEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"EMCAL");
-        fCorrTotEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"EMCAL");
-        fCorrHadEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"EMCAL");
-        fCorrHadEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"EMCAL");
-        fCorrTotEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"PHOS");
-        fCorrTotEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"PHOS");
-        fCorrHadEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"PHOS");
-        fCorrHadEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"PHOS");
-       }
-       else{cerr<<"Uh-oh!  Unable to open configuration file!"<<endl;}
-     }
+  if(TMath::Abs(fCorrTotEtFullAcceptanceTPC)<1e-3){
+    if (fConfigFile.Length()) {
+      cout<<"Warning: Rereading fCorrections file..."<<endl;
+      gROOT->LoadMacro(fConfigFile);
+      fCorrections = (AliAnalysisHadEtCorrections *) gInterpreter->ProcessLine("ConfigHadEtAnalysis()");
+      fCorrTotEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"Full");
+      fCorrTotEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"Full");
+      fCorrHadEtFullAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"Full");
+      fCorrHadEtFullAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"Full");
+      fCorrTotEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"EMCAL");
+      fCorrTotEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"EMCAL");
+      fCorrHadEtEMCALAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"EMCAL");
+      fCorrHadEtEMCALAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"EMCAL");
+      fCorrTotEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kTRUE,fgPtTPCCutOff,"PHOS");
+      fCorrTotEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kTRUE,fgPtITSCutOff,"PHOS");
+      fCorrHadEtPHOSAcceptanceTPC = fCorrections->GetConstantCorrections(kFALSE,fgPtTPCCutOff,"PHOS");
+      fCorrHadEtPHOSAcceptanceITS = fCorrections->GetConstantCorrections(kFALSE,fgPtITSCutOff,"PHOS");
+    }
+    else{cerr<<"Uh-oh!  Unable to open configuration file!"<<endl;}
+  }
 }
 void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and adding them to the output TList
 
@@ -504,11 +519,11 @@ void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and
       maxdEdx = 500.0;
       break;
       //not deleting this completely since we might want to add it back in later
-//     case 2:
-//       cutName = strTPC;
-//       maxPtdEdx = 5;
-//       maxdEdx = 500.0;
-//       break;
+      //     case 2:
+      //       cutName = strTPC;
+      //       maxPtdEdx = 5;
+      //       maxdEdx = 500.0;
+      //       break;
     default:
       cerr<<"Error:  cannot make histograms!"<<endl;
       return;
@@ -517,8 +532,8 @@ void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and
     CreateEtaPtHisto2D(Form("EtDataRaw%sPiPlus",cutName->Data()),"Raw reconstructed E_{T} from identified #pi^{+}");
     CreateEtaPtHisto2D(Form("EtDataRaw%sPiMinus",cutName->Data()),"Raw reconstructed E_{T} from identified #pi^{-}");
     CreateEtaPtHisto2D(Form("EtDataRaw%sKPlus",cutName->Data()),"Raw reconstructed E_{T} from identified K^{+}");
-//     CreateEtaPtHisto2D(Form("EtDataRaw%sEMinus",cutName->Data()),"Raw reconstructed E_{T} from identified e^{-}");
-//     CreateEtaPtHisto2D(Form("EtDataRaw%sEPlus",cutName->Data()),"Raw reconstructed E_{T} from identified e^{+}");
+    //     CreateEtaPtHisto2D(Form("EtDataRaw%sEMinus",cutName->Data()),"Raw reconstructed E_{T} from identified e^{-}");
+    //     CreateEtaPtHisto2D(Form("EtDataRaw%sEPlus",cutName->Data()),"Raw reconstructed E_{T} from identified e^{+}");
     CreateEtaPtHisto2D(Form("EtDataRaw%sKMinus",cutName->Data()),"Raw reconstructed E_{T} from identified K^{-}");
     CreateEtaPtHisto2D(Form("EtDataRaw%sProton",cutName->Data()),"Raw reconstructed E_{T} from identified p");
     CreateEtaPtHisto2D(Form("EtDataRaw%sAntiProton",cutName->Data()),"Raw reconstructed E_{T} from identified #bar{p}");
@@ -528,8 +543,8 @@ void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and
     CreateEtaPtHisto2D(Form("EtDataCorrected%sPiPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified #pi^{+}");
     CreateEtaPtHisto2D(Form("EtDataCorrected%sPiMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified #pi^{-}");
     CreateEtaPtHisto2D(Form("EtDataCorrected%sKPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified K^{+}");
-//     CreateEtaPtHisto2D(Form("EtDataCorrected%sEMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified e^{-}");
-//     CreateEtaPtHisto2D(Form("EtDataCorrected%sEPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified e^{+}");
+    //     CreateEtaPtHisto2D(Form("EtDataCorrected%sEMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified e^{-}");
+    //     CreateEtaPtHisto2D(Form("EtDataCorrected%sEPlus",cutName->Data()),"Corrected reconstructed E_{T} from identified e^{+}");
     CreateEtaPtHisto2D(Form("EtDataCorrected%sKMinus",cutName->Data()),"Corrected reconstructed E_{T} from identified K^{-}");
     CreateEtaPtHisto2D(Form("EtDataCorrected%sProton",cutName->Data()),"Corrected reconstructed E_{T} from identified p");
     CreateEtaPtHisto2D(Form("EtDataCorrected%sAntiProton",cutName->Data()),"Corrected reconstructed E_{T} from identified #bar{p}");
@@ -555,6 +570,7 @@ void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and
 
   Float_t minEt = 0.0;
   Float_t maxEt = 100.0;
+  if(fDataSet==20100) maxEt=3000.0;
   Int_t nbinsEt = 200;
   char histoname[200];
   char histotitle[200];
@@ -612,6 +628,16 @@ void AliAnalysisHadEtReconstructed::CreateHistograms(){//Creating histograms and
          snprintf(histotitle,200,"Reconstructed %s with %s acceptance for p_{T}>%s GeV/c%s",etstring->Data(),acceptance->Data(),ptstring->Data(),partidstring->Data());
          snprintf(xtitle,50,"Reconstructed %s",etstring->Data());
          CreateHisto1D(histoname,histotitle,xtitle,ytitle->Data(),nbinsEt*2,minEt,maxEt);
+         if(fDataSet==20100 && type ==0 &&pid==1){//If this is Pb+Pb and full acceptance with pid
+           Int_t width = 5;
+           if(fNCentBins<20) width = 10;
+           for(Int_t i=0;i<fNCentBins;i++){
+             snprintf(histoname,200,"Reco%s%sAcceptance%s%sCB%i",et->Data(),acceptance->Data(),detector->Data(),partid->Data(),i);
+             snprintf(histotitle,200,"Reconstructed %s with %s acceptance for p_{T}>%s GeV/c%s for centrality %i-%i",etstring->Data(),acceptance->Data(),ptstring->Data(),partidstring->Data(),i*width,(i+1)*width);
+             snprintf(xtitle,50,"Reconstructed %s",etstring->Data());
+             CreateHisto1D(histoname,histotitle,xtitle,ytitle->Data(),nbinsEt*2,minEt,maxEt);
+           }
+         }
        }
       }
     }