]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fix MC correction for INEL
authoreserradi <eserradi@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 4 Feb 2013 11:05:11 +0000 (11:05 +0000)
committereserradi <eserradi@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 4 Feb 2013 11:05:11 +0000 (11:05 +0000)
14 files changed:
PWGLF/SPECTRA/Nuclei/B2/AliLnDriver.cxx
PWGLF/SPECTRA/Nuclei/B2/AliLnDriver.h
PWGLF/SPECTRA/Nuclei/B2/AliLnEfficiency.cxx
PWGLF/SPECTRA/Nuclei/B2/AliLnPt.cxx
PWGLF/SPECTRA/Nuclei/B2/AliLnPt.h
PWGLF/SPECTRA/Nuclei/B2/AliLnSpectra.cxx
PWGLF/SPECTRA/Nuclei/B2/AliLnSpectra.h
PWGLF/SPECTRA/Nuclei/B2/Config.h
PWGLF/SPECTRA/Nuclei/B2/macros/Config_Deuteron_TOF_LHC10x.C
PWGLF/SPECTRA/Nuclei/B2/macros/Config_Deuteron_TPC_LHC10x.C
PWGLF/SPECTRA/Nuclei/B2/macros/Config_Proton_TOF_LHC10x.C
PWGLF/SPECTRA/Nuclei/B2/macros/Config_Proton_TPC_LHC10x.C
PWGLF/SPECTRA/Nuclei/B2/macros/Config_TPCTOF_LHC10x.C
PWGLF/SPECTRA/Nuclei/B2/macros/LHC10bcde.C

index 7d29bc6d4920ad0d640087fdea522f89a654eedf..309ad0ae4342395a89e1cfbe9d5488ff98c32b52 100644 (file)
@@ -42,7 +42,7 @@ AliLnDriver::AliLnDriver()
 , fOutputTag("test")
 , fOutputCorTag("")
 , fIsOnlyGen(0)
-, fNormToInel(1)
+, fINEL(1)
 , fMakeCorr(1)
 , fMakePt(1)
 , fMakeRatio(1)
@@ -85,8 +85,7 @@ AliLnDriver::AliLnDriver()
 , fFitFrac(0)
 , fFdwnCorr(1)
 , fSameFdwn(0)
-, fVtxCorr(0)
-, fVtxCorrVal(1)
+, fMCtoINEL(0)
 , fAddFakeTracks(1)
 {
 //
@@ -267,7 +266,7 @@ void AliLnDriver::MakePt() const
                lnpt.SetSecondaries(fSecondaries);
                lnpt.SetEfficiency(fEfficiency);
                lnpt.SetMakeStats(fMakeStats);
-               lnpt.SetVertexCorrection(fVtxCorr, fVtxCorrVal);
+               lnpt.SetMCtoINEL(fMCtoINEL);
                lnpt.SetFitFractionCorr(fFitFrac);
                lnpt.SetFeedDownCorr(fFdwnCorr);
                lnpt.SetSameFeedDownCorr(fSameFdwn);
@@ -321,7 +320,7 @@ void AliLnDriver::MakeSpectra() const
                AliLnSpectra lnspectra(kParticle[i], fOutputPt, fOutputTag, spectrafile, fOutputTag, fXsec);
                
                lnspectra.SetRapidityInterval(fYMin, fYMax);
-               lnspectra.SetNormalizeToINEL(fNormToInel);
+               lnspectra.SetExtrapolateToINEL(fINEL);
                lnspectra.SetOnlyGeneration(fIsOnlyGen);
                lnspectra.SetScalingFactor(kSysErr[i]);
                
index 41451cce8b69f860edeac8de343aea3e98a46e21..6e54dbd44ac7e64d24da89eb42415979de48469e 100644 (file)
@@ -47,7 +47,7 @@ class AliLnDriver: public TObject
        
        void SetTriggerEfficiency(Double_t eff[3]);
        void SetInelXSection(Double_t xsec[3]);
-       void SetNormalizeToINEL(Bool_t flag=1) { fNormToInel = flag; }
+       void SetExtrapolateToINEL(Bool_t flag=1) { fINEL = flag; }
        void SetOnlyGeneration(Bool_t flag=1) { fIsOnlyGen = flag; }
        
        void SetMakeCorrections(Bool_t flag=1) { fMakeCorr = flag; }
@@ -73,7 +73,7 @@ class AliLnDriver: public TObject
        void SetEfficiency(Bool_t flag=1, Bool_t g3Fluka=0) { fEfficiency = flag; fG3Fluka=g3Fluka; }
        void SetScalingFactors(Double_t mat, Double_t fd) { fScMat=mat; fScFd=fd; }
        
-       void SetVertexCorrection(Bool_t flag=1, Double_t val=1) { fVtxCorr = flag; fVtxCorrVal=val; }
+       void SetMCtoINEL(Bool_t flag=1) { fMCtoINEL = flag; }
        void SetFitFractionCorr(Bool_t flag=1) { fFitFrac=flag; }
        void SetFeedDownCorr(Bool_t flag=1) { fFdwnCorr=flag; }
        void SetSameFeedDownCorr(Bool_t flag=1) { fSameFdwn = flag; }
@@ -96,7 +96,7 @@ class AliLnDriver: public TObject
        Double_t fTrigEff[3];   // trigger efficiency, stat. and syst. errors
        Double_t fXsec[3];      // total inelastic cross section, stat. and syst. errors
        Bool_t  fIsOnlyGen;     // if it is only generation
-       Bool_t  fNormToInel;    // normalize to inelastic events
+       Bool_t  fINEL;          // extrapolate to inelastic events
        
        Bool_t  fMakeCorr;      // make corrections
        Bool_t  fMakePt;        // make pt
@@ -125,7 +125,7 @@ class AliLnDriver: public TObject
        Double_t fMinM2tpc;     // min M2 for integration
        Double_t fMaxM2tpc;     // max M2 for integration
        Bool_t   fEfficiency;   // efficiency correction
-       Bool_t   fG3Fluka;      // enable G3/Fluka correction
+       Bool_t   fG3Fluka;      // enable G3/Fluka correction for TPC
        Double_t fScMat;        // scaling factor for material fraction
        Double_t fScFd;         // scaling factor for feed-down fraction
        
@@ -147,8 +147,7 @@ class AliLnDriver: public TObject
        Bool_t fFitFrac;        // fit for fraction of secondaries
        Bool_t fFdwnCorr;       // enable feed-down correction
        Bool_t fSameFdwn;       // same feed-down correction for positives and negatives
-       Bool_t fVtxCorr;        // enable vertex correction from simulation
-       Double_t fVtxCorrVal;   // vertex correction value
+       Bool_t fMCtoINEL;       // MC to extrapolate to inel or for triggering events
        
        Bool_t fAddFakeTracks;  // include fake tracks in the efficiency and templates
        
index 9d1c4d68ad018609c9c7d5cfcb709c49e390cab2..c7d931e046786ad116e16be7e843fc6a0da811bd 100644 (file)
@@ -97,6 +97,12 @@ Int_t AliLnEfficiency::Exec()
                delete fncG3Fluka;
        }
        
+       if(!fParticle.Contains("Anti"))
+       {
+               TH1D* hStats = (TH1D*)FindObj(fsimu, fParticle + "_Stats");
+               hStats->Write();
+       }
+       
        hEffAccTrkPt->SetTitle(fParticle.Data());
        hEffTrkPt->SetTitle(fParticle.Data());
        hEffAccPt->SetTitle(fParticle.Data());
index 43ed82c676983df6d965e880131a83c468e01dda..e5f4e96e0fe93bd1354e78c3110bf945b0a50086 100644 (file)
@@ -68,7 +68,7 @@ AliLnPt::AliLnPt(const TString& particle, Double_t trigEff, const TString& input
 , fMinM2tpc(2.)
 , fMaxM2tpc(6.)
 , fMakeStats(1)
-, fVtxCorr(0)
+, fMCtoINEL(0)
 , fVtxFactor(1)
 , fFitFrac(1)
 , fFdwnCorr(1)
@@ -202,6 +202,12 @@ Int_t AliLnPt::Exec()
                TH1D* hEffCorPt = 0;
                if(fEfficiency)
                {
+                       if(fMCtoINEL)
+                       {
+                               TH1D* hStatsMC = (TH1D*)FindObj(fcorr, species + "_Stats");
+                               fVtxFactor = this->GetVertexCorrection(hStats, hStatsMC);
+                       }
+                       
                        hEffCorPt = this->Efficiency(hUnfoldedPt, hEffVtxPt, hEffAccTrkPt, fParticle + "_EffCor_Pt");
                }
                else
@@ -262,7 +268,7 @@ Int_t AliLnPt::Exec()
                TH1D* hStatsFix = new TH1D(Form("%s_Stats", fParticle.Data()), "Stats", 6, 0, 6);
                hStatsFix->GetXaxis()->SetBinLabel(1,"Events");
                hStatsFix->GetXaxis()->SetBinLabel(2,"Trig");
-               hStatsFix->GetXaxis()->SetBinLabel(3,"Ana");
+               hStatsFix->GetXaxis()->SetBinLabel(3,"AnaT");
                hStatsFix->GetXaxis()->SetBinLabel(4,"Inel");
                hStatsFix->GetXaxis()->SetBinLabel(5,"Vtx");
                hStatsFix->GetXaxis()->SetBinLabel(6,"Vz");
@@ -278,23 +284,22 @@ Int_t AliLnPt::Exec()
                }
                else
                {
-                       Double_t nTrig   = hStats->Integral(2,2);
-                       Double_t nAna    = hStats->Integral(3,3);
-                       Double_t nVtx    = hStats->Integral(4,4);
-                       Double_t nVz     = hStats->Integral(5,5);
-                       Double_t nInel   = nTrig/fTrigEff;
+                       Double_t nTrig = hStats->Integral(2,2);
+                       Double_t nAna  = hStats->Integral(3,3);
+                       Double_t nVtx  = hStats->Integral(4,4);
+                       Double_t nVz   = hStats->Integral(5,5);
+                       Double_t nAnaT = nTrig; // all triggering events since we have the MC correction
+                       Double_t nInel = nTrig/fTrigEff;
                        
-                       if(!fVtxCorr)
+                       if(!fMCtoINEL)
                        {
-                               // Add events without vertex and not triggered
-                               //Double_t nNoVtx = (nVz/nVtx)*(nTrig-nVtx);
+                               // Add events without vertex to get the proportional trig. events
                                Double_t nNoVtx = (nAna/nVtx)*(nTrig-nVtx);
-                               nInel = (nAna + nNoVtx)/fTrigEff;
-                               nAna  = nAna + nNoVtx;
-                               // Nvz/Ninel * (Ninel - Nvtx)
+                               nAnaT = nAna + nNoVtx;
+                               nInel = nAnaT/fTrigEff;
                        }
                        
-                       hStatsFix->Fill("Ana",nAna);
+                       hStatsFix->Fill("AnaT",nAnaT);
                        hStatsFix->Fill("Inel",nInel);
                        hStatsFix->Fill("Vtx",nVtx);
                        hStatsFix->Fill("Vz",nVz);
@@ -311,6 +316,19 @@ Int_t AliLnPt::Exec()
        return 0;
 }
 
+Double_t AliLnPt::GetVertexCorrection(const TH1D* hData, const TH1D* hMC) const
+{
+//
+// vertex correction factor
+//
+       Double_t nAna   = hData->Integral(3,3);
+       Double_t nVtx   = hData->Integral(4,4);
+       Double_t nAnaMC = hMC->Integral(3,3);
+       Double_t nVtxMC = hMC->Integral(4,4);
+       
+       return (nVtx/nAna)/(nVtxMC/nAnaMC);
+}
+
 Double_t AliLnPt::GetM2Width(Double_t pt, Double_t m) const
 {
 //
@@ -523,12 +541,12 @@ TH1D* AliLnPt::Secondaries(const TH1D* hPt, TF1* fncMatPt, TF1* fncFdwnPt, const
 TH1D* AliLnPt::Efficiency(const TH1D* hPt, const TH1D* hEffVtxPt, const TH1D* hEffAccTrkPt, const TString& name) const
 {
 //
-// correct by efficiency 1/(eff_vtx x eff_acc x eff_trk)
+// correct by efficiency
 //
        TH1D* hEffCorPt = (TH1D*)hPt->Clone(name.Data());
        hEffCorPt->Divide(hEffAccTrkPt);
        
-       if(fVtxCorr)
+       if(fMCtoINEL)
        {
                hEffCorPt->Divide(hEffVtxPt);
                hEffCorPt->Scale(fVtxFactor);
index 2c0ddb24b3b83fdec91fdcb3f34e122aa4fa5b89..f19c80e4b2cd34b44b3277d7a4ce99bc96517ed1 100644 (file)
@@ -35,6 +35,8 @@ class AliLnPt: public TObject
        TH1D* Secondaries(const TH1D* hPt, TF1* fncMatPt, TF1* fncFdwnPt, const TString& name) const;
        TH1D* Efficiency(const TH1D* hPt, const TH1D* hEffVtxPt, const TH1D* hEffAccTrkPt, const TString& name) const;
        
+       Double_t GetVertexCorrection(const TH1D* hData, const TH1D* hMC) const;
+       
        Int_t Exec();
        
        void SetRapidityInterval(Double_t ymin, Double_t ymax) { fYMin = ymin; fYMax = ymax; }
@@ -59,11 +61,12 @@ class AliLnPt: public TObject
        
        void SetMakeStats(Bool_t flag=1) { fMakeStats = flag; }
        
-       void SetVertexCorrection(Bool_t flag=1, Double_t factor=1) { fVtxCorr=flag; fVtxFactor=factor; }
+       void SetMCtoINEL(Bool_t flag=1) { fMCtoINEL=flag;}
        void SetFitFractionCorr(Bool_t flag=1) { fFitFrac=flag; }
        void SetFeedDownCorr(Bool_t flag=1) { fFdwnCorr=flag; }
        void SetSameFeedDownCorr(Bool_t flag=1) { fSameFdwn=flag; }
        
+       
   private:
  
        AliLnPt(const AliLnPt& other);
@@ -112,8 +115,8 @@ class AliLnPt: public TObject
        
        Bool_t fMakeStats; // make event stats
        
-       Bool_t fVtxCorr; // use simulation to correct from non reconstructed vertex events
-       Double_t fVtxFactor; // correction factor between simulation and data
+       Bool_t fMCtoINEL; // MC to extrapolate to inel or for triggering events
+       Double_t fVtxFactor; // vertex correction factor between simulation and data
        
        Bool_t fFitFrac; // fit for fraction of secondaries
        Bool_t fFdwnCorr; // enable feed-down correction
index f9ae5363f2e4963df9eb909a7bd798d202f1da32..20c634650d0882f68768c40019fca28eefdcfaf6 100644 (file)
@@ -38,7 +38,7 @@ AliLnSpectra::AliLnSpectra(const TString& particle, const TString& ptFilename, c
 , fOutputTag(otag)
 , fYMin(-0.5)
 , fYMax(0.5)
-, fNormToInel(1)
+, fINEL(1)
 , fIsOnlyGen(0)
 , fSysErr(1)
 {
@@ -71,7 +71,7 @@ Int_t AliLnSpectra::Exec()
        TH1D* hStats = (TH1D*)FindObj(finput, fParticle + "_Stats");
        
        Double_t nEvent = hStats->Integral(3,3);
-       if(fNormToInel) nEvent = hStats->Integral(4,4);
+       if(fINEL) nEvent = hStats->Integral(4,4);
        
        // ouputfile
        
index 1c84c2e3e92b5038356e90f0bd398300d225f57b..ceb58783a0e4a187ef731a0675ec3a7eccf545b4 100644 (file)
@@ -30,7 +30,7 @@ class AliLnSpectra: public TObject
        Int_t Exec();
        
        void SetRapidityInterval(Double_t ymin, Double_t ymax) { fYMin = ymin; fYMax = ymax; }
-       void SetNormalizeToINEL(Bool_t flag=1) { fNormToInel = flag; }
+       void SetExtrapolateToINEL(Bool_t flag=1) { fINEL = flag; }
        
        void SetOnlyGeneration(Bool_t flag=1) { fIsOnlyGen = flag; }
        
@@ -60,7 +60,7 @@ class AliLnSpectra: public TObject
        Double_t fYMin; // rapidity low limit
        Double_t fYMax; // rapidity high limit
        
-       Bool_t fNormToInel; // normalize to inelastic events
+       Bool_t fINEL; // extrapolate to inelastic events
        Bool_t fIsOnlyGen; // if no need for correction
        
        Double_t fSysErr; // variation for systematics
index 459fc84c2790092a879e1de7023922ccfbec9b6e..3a8e3aa840999bf1e62756aa7468ea13b853336b 100644 (file)
@@ -24,31 +24,6 @@ namespace B2mult
        const Double_t kKNOmultErr[kNmult] = { 0, 0, 0, 0, 0, 0 };
 };
 
-Double_t GetVertexCorrection(const TString& period, Int_t vtxCut=10)
-{
-//
-// vertex correction factor for |Vz| < 10 cm, |Vz| < 5 cm and LHC12a5x simulations
-//
-       TString name = period;
-       name.ToLower();
-       
-       if(name == "lhc10c900" && vtxCut == 10)   return 1.0142;
-       if(name == "lhc10b" && vtxCut == 10)      return 1.0006;
-       if(name == "lhc10c" && vtxCut == 10)      return 1.0007;
-       if(name == "lhc10d" && vtxCut == 10)      return 1.0224;
-       if(name == "lhc10e" && vtxCut == 10)      return 1.0423;
-       if(name == "lhc11a_wsdd" && vtxCut == 10) return 1.0728;
-       
-       if(name == "lhc10c900" && vtxCut == 5)    return 1.0866;
-       if(name == "lhc10b" && vtxCut == 5)       return 1.0175;
-       if(name == "lhc10c" && vtxCut == 5)       return 1.0180;
-       if(name == "lhc10d" && vtxCut == 5)       return 1.0431;
-       if(name == "lhc10e" && vtxCut == 5)       return 1.0934;
-       if(name == "lhc11a_wsdd" && vtxCut == 5)  return 1.1716;
-       
-       return 1;
-}
-
 TString GetCollSystem(const TString& period)
 {
 //
index 3d30244d0709c6528f6620b550c4d6012f2106eb..2be6d91f20e383ed6416268dbc7a4de1ba59f881 100644 (file)
@@ -27,7 +27,7 @@ Int_t Config_Deuteron_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
                                  const TString& outputTag  = "lhc10d",\r
                                  const TString& multTag    = "",\r
                                  const TString& multCorTag = "",\r
-                                 Bool_t normToInel         = 1,  // for mult\r
+                                 Bool_t inel               = 1,  // for mult\r
                                  Bool_t drawOutput         = 1,  // for batch\r
                                  Int_t  lowPtBin           = 5,  // 0.8 Gev/c\r
                                  Int_t  hiPtBin            = 17, // 3.2 GeV/c\r
@@ -43,8 +43,7 @@ Int_t Config_Deuteron_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
        const TString  kSpecies         = "Deuteron";\r
        const TString  kTrkSel          = "its_tpc_tof_dca-tpc3";\r
        const TString  kTrigName        = "mbor";\r
-       const Bool_t   kVtxCorr         = 0;\r
-       const Double_t kVtxCorrVal      = GetVertexCorrection(period);\r
+       const Bool_t   kMCtoINEL        = 1;\r
        const Int_t    kM2Bin[2]        = {8,18};\r
        const Bool_t   kPidM2           = 1;\r
        const Bool_t   kUnfolding       = 0;\r
@@ -90,8 +89,8 @@ Int_t Config_Deuteron_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
        driver.SetOutputTag(outputTag);\r
        driver.SetTriggerEfficiency(trigEff);\r
        driver.SetInelXSection(xsec);\r
-       driver.SetNormalizeToINEL(normToInel);\r
-       driver.SetVertexCorrection(kVtxCorr, kVtxCorrVal);\r
+       driver.SetExtrapolateToINEL(inel);\r
+       driver.SetMCtoINEL(kMCtoINEL);\r
        driver.SetPtBinInterval(lowPtBin, hiPtBin);\r
        driver.SetPidM2(kPidM2);\r
        driver.SetM2BinInterval(kM2Bin[0], kM2Bin[1]);\r
@@ -125,7 +124,7 @@ Int_t Config_Deuteron_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
        st->cd();\r
        gROOT->ForceStyle();\r
        \r
-       DrawOutputCorr(kSpecies,inputCorr);\r
+       DrawOutputCorr(kSpecies, inputCorr, driver.GetOutputCorrTag());\r
        \r
        if(kSecProd != 2) gROOT->ProcessLine(Form(".x DrawSec.C+g(\"%s\",\"\",\"Deuteron\", %d, %d, %f, %f)", driver.GetPtCorrDebugFilename().Data(), lowPtBin, hiPtBin, kDCAxy[0], kDCAxy[1]));\r
        \r
index 7fb83b2313c0023ae85317caa0e4ac0d98dc4cf6..610745f6edd92bb5af5c6b705a95f1b07e6b58f2 100644 (file)
@@ -27,7 +27,7 @@ Int_t Config_Deuteron_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
                                  const TString& outputTag  = "lhc10d",\r
                                  const TString& multTag    = "",\r
                                  const TString& multCorTag = "",\r
-                                 Bool_t normToInel         = 1,  // for mult\r
+                                 Bool_t inel               = 1,  // for mult\r
                                  Bool_t drawOutput         = 1,  // for batch\r
                                  Int_t  lowPtBin           = 3,  // 0.4 Gev/c\r
                                  Int_t  hiPtBin            = 6,  // 1.0 GeV/c\r
@@ -44,9 +44,8 @@ Int_t Config_Deuteron_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
        const TString  kSpecies         = "Deuteron";\r
        const TString  kTrkSel          = "its_tpc_dca-tpc3";\r
        const TString  kTrigName        = "mbor";\r
-       const Bool_t   kVtxCorr         = 0;\r
-       const Double_t kVtxCorrVal      = GetVertexCorrection(period);\r
-       const Bool_t   kUnfolding       = 0;\r
+       const Bool_t   kMCtoINEL        = 1;\r
+       const Bool_t   kUnfolding       = 1;\r
        const Int_t    kIter            = 7;\r
        const Bool_t   kSecondaries     = 1;\r
        const Int_t    kSecProd         = 0; // 0 tff, 1 roofit, 2 mc\r
@@ -87,8 +86,8 @@ Int_t Config_Deuteron_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
        driver.SetOutputTag(outputTag);\r
        driver.SetTriggerEfficiency(trigEff);\r
        driver.SetInelXSection(xsec);\r
-       driver.SetNormalizeToINEL(normToInel);\r
-       driver.SetVertexCorrection(kVtxCorr, kVtxCorrVal);\r
+       driver.SetExtrapolateToINEL(inel);\r
+       driver.SetMCtoINEL(kMCtoINEL);\r
        driver.SetPtBinInterval(lowPtBin, hiPtBin);\r
        driver.SetPidM2(0);\r
        driver.SetUnfolding(kUnfolding, kIter);\r
@@ -118,7 +117,7 @@ Int_t Config_Deuteron_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
        st->cd();\r
        gROOT->ForceStyle();\r
        \r
-       DrawOutputCorr(kSpecies,inputCorr);\r
+       DrawOutputCorr(kSpecies, inputCorr, driver.GetOutputCorrTag());\r
        \r
        if(kSecProd != 2) gROOT->ProcessLine(Form(".x DrawSec.C+g(\"%s\",\"\",\"Deuteron\", %d, %d, %f, %f)", driver.GetPtCorrDebugFilename().Data(), lowPtBin, hiPtBin, kDCAxy[0], kDCAxy[1]));\r
        \r
index 6e5a59cb7d8ff697152fd36917f674515c19692c..cabd68f20d0f730d55f1429c98ef255c310cdb28 100644 (file)
@@ -26,9 +26,9 @@ Int_t Config_Proton_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
                                const TString& outputTag  = "lhc10d",
                                const TString& multTag    = "",
                                const TString& multCorTag = "",
-                               Bool_t normToInel         = 1,  // for mult
+                               Bool_t inel               = 1,  // for mult
                                Bool_t drawOutput         = 1,  // for batch
-                               Int_t lowPtBin            = 11, // 1.0 GeV/c
+                               Int_t  lowPtBin           = 11, // 1.0 GeV/c
                                Int_t  hiPtBin            = 36, // 3.5 GeV/c
                                Bool_t makeStats          = 1,
                                Bool_t makeCor            = 1,
@@ -43,13 +43,12 @@ Int_t Config_Proton_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
        const TString  kSpecies     = "Proton";
        const TString  kTrkSel      = "its_tpc_tof_dca_spd-bayes";
        const TString  kTrigName    = "mbor";
-       const Bool_t   kVtxCorr     = 0;
-       const Double_t kVtxCorrVal  = GetVertexCorrection(period);
+       const Bool_t   kMCtoINEL    = 1;
        const Bool_t   kUnfolding   = 0;
        const Bool_t   kSecondaries = 1;
        const Int_t    kSecProd     = 0; // 0 tff, 1 roofit, 2 mc
        const Int_t    kMatDCAxyMod = 1; // 0 geant, 1 flat
-       const Int_t    kNbin        = 10;
+       const Int_t    kNbin        = 15;
        const Double_t kDCAxy[2]    = {-1.,1.};
        const Bool_t   kEfficiency  = 1;
        const Double_t kMatScaling  = 1.9;
@@ -87,8 +86,8 @@ Int_t Config_Proton_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
        driver.SetOutputTag(outputTag);
        driver.SetTriggerEfficiency(trigEff);
        driver.SetInelXSection(xsec);
-       driver.SetNormalizeToINEL(normToInel);
-       driver.SetVertexCorrection(kVtxCorr, kVtxCorrVal);
+       driver.SetExtrapolateToINEL(inel);
+       driver.SetMCtoINEL(kMCtoINEL);
        
        driver.SetPtBinInterval(lowPtBin, hiPtBin);
        driver.SetPidM2(0);
@@ -123,7 +122,7 @@ Int_t Config_Proton_TOF_LHC10x(const TString& inputDir   = "~/alice/input",
        st->cd();
        gROOT->ForceStyle();
        
-       DrawOutputCorr(kSpecies,inputCorr);
+       DrawOutputCorr(kSpecies, inputCorr, driver.GetOutputCorrTag());
        
        if(kSecProd != 2) DrawCorrDebug(driver.GetPtCorrDebugFilename(), driver.GetOutputCorrTag(), kSpecies, lowPtBin, hiPtBin, kDCAxy[0], kDCAxy[1]);
        
index eff83364f014fc48c2d23f4aa0bb3ddf5a89cd47..9b48164e0d3150435859fbd852496f60eb9c1d9c 100644 (file)
@@ -26,7 +26,7 @@ Int_t Config_Proton_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
                                const TString& outputTag  = "lhc10d",
                                const TString& multTag    = "",
                                const TString& multCorTag = "",
-                               Bool_t normToInel         = 1,  // for mult
+                               Bool_t inel               = 1,  // for mult
                                Bool_t drawOutput         = 1,  // for batch
                                Int_t  lowPtBin           = 5,  // 0.4 GeV/c
                                Int_t  hiPtBin            = 11, // 1.0 GeV/c
@@ -43,8 +43,7 @@ Int_t Config_Proton_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
        const TString  kSpecies     = "Proton";
        const TString  kTrkSel      = "its_tpc_dca_spd-bayes";
        const TString  kTrigName    = "mbor";
-       const Bool_t   kVtxCorr     = 0;
-       const Double_t kVtxCorrVal  = GetVertexCorrection(period);
+       const Bool_t   kMCtoINEL    = 1;
        const Bool_t   kUnfolding   = 0;
        const Int_t    kIter        = 5;
        const Bool_t   kSecondaries = 1;
@@ -89,8 +88,8 @@ Int_t Config_Proton_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
        driver.SetOutputTag(outputTag);
        driver.SetTriggerEfficiency(trigEff);
        driver.SetInelXSection(xsec);
-       driver.SetNormalizeToINEL(normToInel);
-       driver.SetVertexCorrection(kVtxCorr, kVtxCorrVal);
+       driver.SetExtrapolateToINEL(inel);
+       driver.SetMCtoINEL(kMCtoINEL);
        driver.SetPtBinInterval(lowPtBin, hiPtBin);
        driver.SetPidM2(0);
        driver.SetUnfolding(kUnfolding, kIter);
@@ -121,7 +120,7 @@ Int_t Config_Proton_TPC_LHC10x(const TString& inputDir   = "~/alice/input",
        st->cd();
        gROOT->ForceStyle();
        
-       DrawOutputCorr(kSpecies,inputCorr);
+       DrawOutputCorr(kSpecies, inputCorr, driver.GetOutputCorrTag());
        
        if(kSecProd != 2) DrawCorrDebug(driver.GetPtCorrDebugFilename(), driver.GetOutputCorrTag(), kSpecies, lowPtBin, hiPtBin, kDCAxy[0], kDCAxy[1]);
        
index 7e3b0d8d00d3a95f71538ce056469225de727ee3..c0d7f44075fed071ab45e09337b9f732ddf9392a 100644 (file)
@@ -30,7 +30,7 @@ Int_t Config_TPCTOF_LHC10x(const TString& inputDir   = "~/alice/input",
                            const TString& outputTag  = "lhc10d",
                            const TString& multTag    = "",
                            const TString& multCorTag = "",
-                           Bool_t normToInel         = 1,  // for mult
+                           Bool_t inel               = 1,  // for mult
                            Bool_t drawOutput         = 1,  // for batch
                            const TString& species    = "Proton")
 {
@@ -41,7 +41,7 @@ Int_t Config_TPCTOF_LHC10x(const TString& inputDir   = "~/alice/input",
        const Int_t kProtonJointBin    = 11;
        const Int_t kProtonHiPtBin     = 36;
        
-       const Int_t kDeuteronLowPtBin  = 3;
+       const Int_t kDeuteronLowPtBin  = 4;
        const Int_t kDeuteronJointBin  = 6;
        const Int_t kDeuteronHiPtBin   = 13;
        
@@ -74,14 +74,14 @@ Int_t Config_TPCTOF_LHC10x(const TString& inputDir   = "~/alice/input",
                cout << "Config_Proton_TPC_LHC10x.C" << endl << endl;
                gROOT->ProcessLine(Form(".x Config_Proton_TPC_LHC10x.C+g(\"%s\", %d, 0, %d, %d, 0,1,1,0,0)"
                                        , kArgTPC.Data()
-                                       , normToInel
+                                       , inel
                                        , kProtonLowPtBin
                                        , kProtonJointBin));
                
                cout << "Config_Proton_TOF_LHC10x.C" << endl << endl;
                gROOT->ProcessLine(Form(".x Config_Proton_TOF_LHC10x.C+g(\"%s\", %d, 0, %d, %d, 1,1,1,0,0)"
                                        , kArgTOF.Data()
-                                       , normToInel
+                                       , inel
                                        , kProtonJointBin
                                        , kProtonHiPtBin));
        }
@@ -90,14 +90,14 @@ Int_t Config_TPCTOF_LHC10x(const TString& inputDir   = "~/alice/input",
                cout << "Config_Deuteron_TPC_LHC10x.C" << endl << endl;
                gROOT->ProcessLine(Form(".x Config_Deuteron_TPC_LHC10x.C+g(\"%s\", %d, 0, %d, %d, 0,1,1,0,0)"
                                        , kArgTPC.Data()
-                                       , normToInel
+                                       , inel
                                        , kDeuteronLowPtBin
                                        , kDeuteronJointBin));
                
                cout << "Config_Deuteron_TOF_LHC10x.C" << endl << endl;
                gROOT->ProcessLine(Form(".x Config_Deuteron_TOF_LHC10x.C+g(\"%s\", %d, 0, %d, %d, 1,1,1,0,0)"
                                        , kArgTOF.Data()
-                                       , normToInel
+                                       , inel
                                        , kDeuteronJointBin
                                        , kDeuteronHiPtBin));
        }
@@ -135,7 +135,7 @@ Int_t Config_TPCTOF_LHC10x(const TString& inputDir   = "~/alice/input",
        GetInelXSection(xsec, period);
        
        driver.SetInelXSection(xsec);
-       driver.SetNormalizeToINEL(normToInel);
+       driver.SetExtrapolateToINEL(inel);
 
        if(species == "Proton") driver.SetSysErr(kProtonSysErr[0],kProtonSysErr[1]);
        if(species == "Deuteron") driver.SetSysErr(kDeuteronSysErr[0],kDeuteronSysErr[1]);
index bc8d30c2524dbc8e120d628bd18575a9f6d64a09..f682fc21692a2e77ae35b6637c19c9d8fdf0b5b1 100644 (file)
@@ -31,7 +31,7 @@ Int_t LHC10bcde(const TString& species    = "Deuteron",
                 const TString& outputTag  = "lhc10bcde",\r
                 const TString& multTag    = "",\r
                 const TString& multCorTag = "",\r
-                Bool_t normToInel         = 1,  // for mult\r
+                Bool_t inel               = 1,  // for mult\r
                 Bool_t drawOutput         = 1,  // for batch\r
                 Int_t option              = 2)\r
 {\r
@@ -63,22 +63,22 @@ Int_t LHC10bcde(const TString& species    = "Deuteron",
                if(species=="Proton" && option==0)\r
                {\r
                        cout << "Config_Proton_TPC_LHC10x.C" << endl << endl;\r
-                       gROOT->ProcessLine(Form(".x Config_Proton_TPC_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
+                       gROOT->ProcessLine(Form(".x Config_Proton_TPC_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), inel));\r
                }\r
                else if(species=="Proton" && option==1)\r
                {\r
                        cout << "Config_Proton_TOF_LHC10x.C" << endl << endl;\r
-                       gROOT->ProcessLine(Form(".x Config_Proton_TOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
+                       gROOT->ProcessLine(Form(".x Config_Proton_TOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), inel));\r
                }\r
                else if(species=="Deuteron" && option==0)\r
                {\r
                        cout << "Config_Deuteron_TPC_LHC10x.C" << endl << endl;\r
-                       gROOT->ProcessLine(Form(".x Config_Deuteron_TPC_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
+                       gROOT->ProcessLine(Form(".x Config_Deuteron_TPC_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), inel));\r
                }\r
                else if(species=="Deuteron" && option==1)\r
                {\r
                        cout << "Config_Deuteron_TOF_LHC10x.C" << endl << endl;\r
-                       gROOT->ProcessLine(Form(".x Config_Deuteron_TOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
+                       gROOT->ProcessLine(Form(".x Config_Deuteron_TOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), inel));\r
                }\r
                else if((species=="Proton" || species=="Deuteron") && option==2)\r
                {\r