X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FAliFragmentationFunctionCorrections.h;h=709d7eaa1ee1e39938da045ed74ed9edaed1ae2d;hb=f21dfc0f251ab646cc62dc38a12a26b7bb62802a;hp=9f7833755610e16f0450edfc23c7415d57b256c3;hpb=692c4f057454667e31c885e798857553d67e5d04;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/AliFragmentationFunctionCorrections.h b/PWGJE/AliFragmentationFunctionCorrections.h index 9f783375561..709d7eaa1ee 100644 --- a/PWGJE/AliFragmentationFunctionCorrections.h +++ b/PWGJE/AliFragmentationFunctionCorrections.h @@ -70,6 +70,8 @@ class AliFragmentationFunctionCorrections : public TObject { void SetHistoBins(const Int_t jetPtSlice, const Int_t sizeBins, Double_t* bins,Int_t type); void SetHistoBins(const Int_t jetPtSlice, const Int_t nBinsLimits, Double_t* binsLimits, Double_t* binsWidth,Int_t type); + TArrayD* GetHistoBins(const Int_t& jetPtSlice, const Int_t& type); + void SetHistoBinsSinglePt(const Int_t sizeBins, Double_t* bins); void SetHistoBinsSinglePt(const Int_t nBinsLimits, Double_t* binsLimits, Double_t* binsWidth); @@ -89,8 +91,8 @@ class AliFragmentationFunctionCorrections : public TObject { THnSparse* TH1toSparse(const TH1F* hist, TString strName, TString strTit, const Bool_t fillConst = kFALSE); - THnSparse* Unfold(THnSparse* hnHist, const THnSparse* hnResponse, const THnSparse* hnEff, const Int_t nIter, - const Bool_t useCorrelatedErrors = kTRUE, const THnSparse* hnPrior = 0x0); + TH1F* Unfold(THnSparse* hnHist, const THnSparse* hnResponse, const THnSparse* hnEff, const Int_t nIter, + const Bool_t useCorrelatedErrors = kTRUE, const THnSparse* hnPrior = 0x0); void UnfoldHistos(const Int_t nIter, const Bool_t useCorrelatedErrors, const Int_t type); @@ -106,9 +108,7 @@ class AliFragmentationFunctionCorrections : public TObject { void EffCorr(); void EffCorrBgr(); - void XiShift(const Int_t corrLevel); - - void SubtractBgr(); + void SubtractBgr(Double_t sysErr = 0); void WriteSingleTrackEff(TString strInfile, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE, TString strOutDir = "", TString strPostfix = ""); void WriteSingleTrackEff(TString strInfile, TString strdir, TString strlist, TString strOutfile, Bool_t updateOutfile = kTRUE, TString strOutDir = "", @@ -123,11 +123,15 @@ class AliFragmentationFunctionCorrections : public TObject { void WriteJetTrackEff(TString strInfile, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE); void WriteJetTrackEff(TString strInfile, TString strdir, TString strlist, TString strOutfile, Bool_t updateOutfile = kTRUE); - void WriteJetSecCorr(TString strInfile, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE); - void WriteJetSecCorr(TString strInfile, TString strdir, TString strlist, TString strOutfile, Bool_t updateOutfile = kTRUE); + void WriteJetSecCorr(TString strInfile, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE, TString strOutDir = ""); + void WriteBgrJetSecCorr(TString strInfile, TString strBgrID, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE, + TString strOutDir = "", Double_t scaleFacBgrRec=1); + + void WriteJetSecCorr(TString strInfile, TString strdir, TString strlist, TString strOutfile, Bool_t updateOutfile = kTRUE, + TString strOutDir = "",Bool_t writeBgr=kFALSE,TString strBgrID="",Double_t scaleFacBgrRec=1); - void WriteJetResponse(TString strInfile, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE); - void WriteJetResponse(TString strInfile, TString strdir, TString strlist,TString strOutfile, Bool_t updateOutfile); + void WriteJetResponse(TString strInfile, TString strID, TString strOutfile,Bool_t updateOutfile = kTRUE, TString strOutDir = ""); + void WriteJetResponse(TString strInfile, TString strdir, TString strlist,TString strOutfile, Bool_t updateOutfile, TString strOutDir = ""); void ReadResponse(TString strfile, TString strdir="", TString strlist=""); void ReadPriors(TString strfile,const Int_t type); @@ -150,6 +154,49 @@ class AliFragmentationFunctionCorrections : public TObject { void EffCorrSinglePt(); void UnfoldSinglePt(const Int_t nIter, const Bool_t useCorrelatedErrors); void SecCorrSinglePt(); + void dNdz2dNdxi(); + + void WriteBinShiftCorr(TString strInfile, TString strIDGen, TString strIDRec, + TString strOutfile, Bool_t updateOutfile, Bool_t useRecPrim = kTRUE, + TString strOutDir = "", Double_t scaleFacBgrRec=1); + + void WriteBgrBinShiftCorr(TString strInfile, TString strBgrID, TString strIDGen, TString strIDRec, + TString strOutfile, Bool_t updateOutfile, Bool_t useRecPrim = kTRUE, + TString strOutDir = "", Double_t scaleFacBgrRec=1); + + void WriteBinShiftCorr(TString strInfile, TString strdirGen, TString strlistGen, + TString strdirRec, TString strlistRec, + TString strOutfile, Bool_t updateOutfile, Bool_t useRecPrim = kTRUE, + TString strOutDir = "",Bool_t writeBgr = kFALSE, TString strBgrID = "",Double_t scaleFacBgrRec=1); + + void ReadBgrBinShiftCorr(TString strfile, TString strBgrID, TString strdir="", TString strlist=""); + void ReadBinShiftCorr(TString strfile, TString strdir="", TString strlist="", Bool_t readBgr = kFALSE, TString strBgrID=""); + + void ReadFoldingCorr(TString strfile, TString strdir="", TString strlist=""); + + void BbBCorr(); + void BbBCorrBgr(); + + void FoldingCorr(); + + void ReadBgrJetSecCorr(TString strfile, TString strBgrID, TString strdir="", TString strlist="", Bool_t useScaledStrangeness=kTRUE); + void ReadJetSecCorr(TString strfile, TString strdir="", TString strlist="", Bool_t useScaledStrangeness = kTRUE, + Bool_t readBgr=kFALSE, TString strBgrID=""); + + void JetSecCorr(); + void JetSecCorrBgr(); + + + void WriteBinShiftCorrSinglePt(TString strInfile, TString strIDGen, TString strIDRec, + TString strOutfile, Bool_t updateOutfile, Bool_t useRecPrim, TString strOutDir); + + void WriteBinShiftCorrSinglePt(TString strInfile, TString strdirGen, TString strlistGen, + TString strdirRec, TString strlistRec, + TString strOutfile, Bool_t updateOutfile, Bool_t useRecPrim, TString strOutDir = ""); + + void ReadBinShiftCorrSinglePt(TString strfile, TString strdir = "", TString strlist = "", Bool_t useRecPrim = kTRUE); + + void BbBCorrSinglePt(); enum {kFlagPt=0,kFlagZ,kFlagXi,kFlagSinglePt}; @@ -188,10 +235,6 @@ class AliFragmentationFunctionCorrections : public TObject { AliFragFuncCorrHistos** fCorrSinglePt; //! array to keep single track pt spectra, 1D in jet pt bins dimension - - // xi shift - TH1F** fh1FFXiShift; //! FF: track xi, corrected for shift in jet energy - // eff correction TH1F* fh1EffSinglePt; //! efficiency all tracks @@ -203,6 +246,30 @@ class AliFragmentationFunctionCorrections : public TObject { TH1F** fh1EffBgrZ; //! reconstruction efficiency bgr z TH1F** fh1EffBgrXi; //! reconstruction efficiency bgr xi + // bin-by-bin correction + TH1F* fh1BbBCorrSinglePt; //! BbB corr track pt + + TH1F** fh1BbBPt; //! bin-by-bin correction track pt + TH1F** fh1BbBZ; //! bin-by-bin correction z + TH1F** fh1BbBXi; //! bin-by-bin correction xi + + TH1F** fh1BbBBgrPt; //! bin-by-bin correction UE track pt + TH1F** fh1BbBBgrZ; //! bin-by-bin correction UE z + TH1F** fh1BbBBgrXi; //! bin-by-bin correction UE xi + + TH1F** fh1FoldingCorrPt; //! corr factor rec/folded + TH1F** fh1FoldingCorrZ; //! corr factor rec/folded + TH1F** fh1FoldingCorrXi; //! corr factor rec/folded + + + // secondaries correction + TH1F** fh1SecCorrPt; //! secondaries correction track pt + TH1F** fh1SecCorrZ; //! secondaries correction z + TH1F** fh1SecCorrXi; //! secondaries correction xi + + TH1F** fh1SecCorrBgrPt; //! secondaries correction track pt + TH1F** fh1SecCorrBgrZ; //! secondaries correction z + TH1F** fh1SecCorrBgrXi; //! reconstruction efficiency xi // unfolding @@ -231,9 +298,9 @@ class AliFragmentationFunctionCorrections : public TObject { TH1F** fh1FFZPrior; //! FF: track z prior TH1F** fh1FFXiPrior; //! FF: track xi prior + // secondaries TH1F* fh1SecCorrSinglePt; //! secondaries correction all tracks - ClassDef(AliFragmentationFunctionCorrections, 1);