GFDstarHistsAnalysis
class description - source file - inheritance tree
private:
void Init(const char* fileIn)
protected:
GFDstarHistsAnalysis(const char* fileIn)
GFDstarHistsAnalysis(const char* prefix, const char* period)
void AddOutOfRange(TH3* h3D, Int_t firstBin, Int_t lastBin, Bool_t flip, TH2* h2D) const
void AddOutOfRange(const TH2* h2D, Int_t firstBin, Int_t lastBin, Bool_t flip, TH1* h1D) const
TH1* CreateHistYBins(TH2* hist2D, const char* titleAdd = "0")
void Draw(void* funcPtr, Bool_t arg2, const char* arg3 = "0")
TH1* DrawD0Variable(const char* varName)
virtual TH1* DrawDmVariable(const char* varName, TH2* hWc2D = 0, TH1* hWc = 0, Bool_t perBinW = kTRUE)
virtual TH1* DrawTrackReally(const char* varName)
void SetHistPointerNull()
public:
GFDstarHistsAnalysis(const GFDstarHistsAnalysis&)
virtual ~GFDstarHistsAnalysis()
static TClass* Class()
void CorrectForBinWidth(TH1* hist) const
TArrayD CountSignal(TH1* hist, Bool_t subtractBack) const
GFHistArray* CreateHistArray1D(TH2* hist2D, const char* varName, Bool_t ignoreUnderOverFlow = kTRUE, Bool_t projectX = kTRUE) const
TH1* CreateL4Eff(const char* var, Int_t dstar = 1)
TH1* CreateL4EffDsClassSR(const char* var)
TH1* CreateL4EffFit(const char* var, Int_t fitFlg = 0, Bool_t dstar = kFALSE)
TH1* CreateL4EffSR(const char* var, Int_t dstar = 1, Int_t fitFlag = 2)
TH1* DrawCheckD0(Int_t mode)
TArrayD DrawD0(Bool_t both = kFALSE)
TH1* DrawD0(const char* variable)
TH1* DrawD0NoL4Bias(const char* variable)
void DrawDedx(Bool_t lhCuts = kTRUE)
void DrawDedxDiff()
TH1* DrawDedxLH(const char* track, Int_t pBinL, Int_t pBinU)
TArrayD DrawDm(Bool_t both = kFALSE)
TH1* DrawDm(const char* var, Bool_t perBinW = kTRUE, const char* dir = "0")
TH1* DrawDm(const char* var1, const char* var2, Int_t firstBin2, Int_t lastBin2, Bool_t perBinW = kTRUE)
TH1* DrawDm2D(const char* variablePair)
void DrawDmAll(Bool_t perBinW)
TH1* DrawDmBgFinder()
TH1* DrawDmDoubleTrigPt()
TH1* DrawDmDs1Jet(const char* varJetDs, const char* forwBack, Bool_t perBinW = kTRUE, UInt_t dmRefFlag = 2)
void DrawDmDs1JetAll(const char* forwBack)
TArrayD DrawDmDsDiJet(UInt_t dmRefFlag = 2)
TH1* DrawDmDsDiJet(const char* varDiJet, Bool_t perBinW = kTRUE, UInt_t dmRefFlag = 2)
TArrayD DrawDmDsJet(const char* forwBack, UInt_t dmRefFlag = 2)
TH1* DrawDmEta()
TH1* DrawDmEventClasses(Int_t mode = 0)
TH1* DrawDmEventClassesNo15()
TH1* DrawDmEventClassesNoL4Dstar()
TH1* DrawDmJetMult(const char* histName, Bool_t perBinW)
TH1* DrawDmL4OpenCharm()
TH1* DrawDmPhi()
TH1* DrawDmPt()
TH1* DrawDmPtDsOverSumEt(const char* histName = "PtDstarOverSumETDm")
TH1* DrawDmTest()
TH1* DrawDmTriggers(Bool_t allHists = kFALSE)
TH1* DrawDmWeight()
TH1* DrawDmWgammaP()
TH1* DrawJetComposition(const char* component)
TH1* DrawJetCompSRMean(const char* component, const char* pteta)
TH1* DrawJetProfile(const char* jetPhiEta)
TH1* DrawTrack(const char* varName)
void DrawYresolution(const char* var, Bool_t mcYtag = kFALSE)
void FitD0Hists(GFHistArray* d0Hists)
void FitGaus(GFHistArray* arrayGausHists, TH1* histMean = 0, TH1* histSigma = 0)
Int_t GetFitModeBins() const
TH1* GetHist(const char* name, const char* dirName = "0")
TH2* GetHist2D(const char* variable, const char* dirName = "0")
TH2* GetHist2DD0(const char* variable)
TH2* GetHist2DDoubleTrigPt()
TH2* GetHist2DEventClass()
TH1* GetHist2Diff(Bool_t& flip, const char* v1, const char* v2, const char* nameAdd, const char* dir = "0")
TH2* GetHist2DPtDsOverSumEt()
TH2* GetHist2DTrack(const char* variableParticle)
TH2* GetHist2DTriggers(const char* var)
TH3* GetHist3D(const char* variablePair)
TH1* GetHistD0Pt1Cut()
TH1* GetHistD0Pt2Cut()
TH1* GetHistD0PtCut()
TH1* GetHistDs1Jet(const char* forwback)
TH1* GetHistDs1JetRef(const char* forwback, UInt_t refFlag = 2)
GFHistManager* GetHistManager()
TH1* GetHistPt1Cut()
TH1* GetHistPt2Cut()
TH1* GetHistPtCut()
const TFile* GetInFile() const
GFMultiDmFitter* GetMultiDmFitter()
virtual const char* GetPeriod() const
const char* GetSampleName() const
Int_t GetTrigger() const
virtual TClass* IsA() const
Bool_t IsBatch() const
void MakeStringName(TString& variable) const
void Normalise(TH1* hist, Bool_t overUnderflow = kFALSE) const
void Print(const char* fileName)
void PrintPlusMinus(const TArrayD& values, const char* title) const
void PrintTable(const TH1* hist, const char* title) const
Bool_t SetBatch(Bool_t yesNo = kTRUE)
void SetFitModeBins(Int_t mode)
void SetFitModeD0(Int_t mode)
void SetPeriod(const char* per)
virtual void SetTrigger(Int_t trigger)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TGraphAsymmErrors* TmpGraph(TGraphAsymmErrors* grIn = 0)
TArrayD TotalL4EffSR(Int_t dstar = 1)
private:
TGraphAsymmErrors* fTmpGraph possible storage as 2nd return value, reset by getter method
protected:
TFile* fFileIn
GFHistManager* fHistManager
Int_t fTrigger which trigger's histograms (83, 84, -1)
D0Fitter* fD0Fitter
GFMultiDmFitter* fMultiDmFitter
Int_t fFitModeD0 D0-fit mode in bins
TH1* fHistSignalBack
TH2* fHist2D
TH1* fHist1D
TH1* fHistNumDstar
TString fPeriod
TObjArray* fVariables
public:
static const char* kDefDir
static const char* kDefName
See also
-
GFDstarHistsAnalysisData, GFDstarHistsAnalysisMc
GFDstarHistsAnalysis
Author: Gero Flucke
Date: May 14th, 2002
last update: $Date: 2005/11/16 00:39:01 $
by: $Author: flucke $
GFDstarHistsAnalysis(const char* fileIn)//,const char*fileOut)
GFDstarHistsAnalysis(const char* prefix, const char* period)
void Init(const char* fileIn)
~GFDstarHistsAnalysis()
void SetTrigger(Int_t trigger)
void SetFitModeBins(Int_t mode)
Int_t GetFitModeBins() const
void Draw(TH1* (GFDstarHistsAnalysis::*funcPtr) (const char*,Bool_t, const char* ), Bool_t perBinW, const char *dir)
void DrawDmAll(Bool_t perBinW)
TArrayD DrawDm(Bool_t both)
the returned array has lenght 2:
array[0] = numDstar
array[1] = numDstarError
(Both values for histogram with cuts appropriate to trigger setting!!)
TArrayD DrawD0(Bool_t both)
the returned array has lenght 2:
array[0] = numD0
array[1] = numD0Error
(Both values for histogram with cuts appropriate to trigger setting!!)
TH1* DrawCheckD0(Int_t mode)
mode 0: L4 triggered by 'not class 15'
1: just omit L4 cut
2: omit L4 cut, but apply weights
TArrayD DrawDmDsJet(const char* forwBack, UInt_t dmRefFlag)
if(dmRefFlag != 0): First fit a reference hist with all params free, then fit with fFitMode
>=2 [default]: D* inclusive
1 : D* + 1 jet inclusive
TArrayD DrawDmDsDiJet(UInt_t dmRefFlag)
First fit a reference hist with all params free, then fit with fFitMode
if dmRefFla == 2 take 'D* inclusive' as reference
TH1* DrawDm(const char* var, Bool_t perBinW, const char *dir)
if(perBinW) result is divided through bin width)
TH1* DrawDmPt()//Int_t fitMode)
TH1* DrawDmPhi()
TH1* DrawDmEta()
TH1* DrawDmWgammaP()
TH1* DrawDm(const char* var1, const char* var2,
Int_t firstBin, Int_t lastBin, Bool_t perBinW)
if(perBinW) result is divided through bin width)
void AddOutOfRange(TH3 *h3D, Int_t firstBin, Int_t lastBin,
Bool_t flip, TH2* h2D) const
add everything which is not in firstBin->lastBin range into
y-underflow of h2D
void AddOutOfRange(const TH2 *h2D, Int_t firstBin, Int_t lastBin,
Bool_t flip, TH1 *h1D) const
add everything which is not in firstBin->lastBin range into
underflow of h1D
TH1* DrawDmDs1Jet(const char* varJetDs, const char* forwBack,
Bool_t perBinW, UInt_t dmRefFlag)
// Bool_t dmRefIsAllDsJet)
varJetDs: Pt/Eta + Jet/Ds, Deta, Dphi, forwBack:'Forw', 'Back' or empty ''
// dmRefIsAllDsJet: if true,
dmRefFlag gives reference hist for determining fixed parameters of fit in bins
>=2 [default]: D* inclusive
1 : D* + 1 jet inclusive
0 : determined by 'forwBack'
void DrawDmDs1JetAll(const char* forwBack)
TH1* DrawDmDsDiJet(const char* varDiJet,
Bool_t perBinW, UInt_t dmRefFlag)
varJetDs: Pt/Eta + DsJet/OthJet/Ds, Deta, Dphi, PtDijet, CosTh, xGam,
DeltaR, DeltaRNoDjetDs
dmRefFlag gives reference hist for determining fixed parameters of fit in bins
>=2 [default]: D* inclusive
1 : D* dijet inclusive
0 : just the projection of the 2D-hist
TH1* DrawDmBgFinder()
TH1* DrawDmTriggers(Bool_t allHists)
selections:
TH1* DrawDmDoubleTrigPt()
TH1* DrawDmEventClasses(Int_t mode)
mode = 0: all events/classes (default)
= 1: weight has to be == 1
else: weight has to be > 1
TH1* DrawDmEventClassesNo15()
TH1* DrawDmEventClassesNoL4Dstar()
TH1* DrawDmWeight()
TH1* DrawDmL4OpenCharm()
TH1* DrawDmPtDsOverSumEt(const char* histName)
PtDstarOverSumETDm, sumETDm
TH1* DrawDmTest()
TH1* DrawDm2D(const char* variablePair)
yeta, wGammaPeta
TH1* DrawD0(const char* variable)
TH1* DrawD0NoL4Bias(const char* variable)
TH1* DrawD0Variable(const char* varName)
TH1* DrawTrack(const char* varTrackName)
var+track: PtK (Pt, Theta, Phi, Length, Start, Dca, Nhit (Dz0?), + K, Pi Pis)
void DrawDedx(Bool_t lhCuts)
lhCuts = true (default): draw seperate colours for entries that passed or failed
the LH-cut on dE/dx
void DrawDedxDiff()
TH1* DrawDedxLH(const char* track, Int_t pBinL, Int_t pBinU)
// K, Pi, Pis
void DrawYresolution(const char* var, Bool_t mcYtag)
TH1* DrawJetComposition(const char* component)
HadCl,EmCl,Track + 1/2/3/.../Pt1/Pt2/...
TH1* DrawJetCompSRMean(const char* component,
const char* pteta)
HadCl,EmCl,Track; Eta/Pt
TH1* DrawJetProfile(const char* jetPhiEta)
jet1Phi, jet2Eta + ' '/Pt1/Pt2/.../Eta1/Eta2/...
TH1* DrawDmJetMult(const char* histName, Bool_t perBinW)
ptDstarNoJet, dstarInJetPt, dstarInJetEta, nNonDstarJet, nJet
if(perBinW) result is divided through bin width)
TH1* CreateL4EffSR(const char* var, Int_t dstar,Int_t fitFlag)
L4 eff in signal region, if(dstar): test D* finder (in gamma p), else just L4 class
var: pt, eta, phi, ptSumEt, wGammaP, y, nTrackEv, nTrack
TH1* CreateL4Eff(const char* var, Int_t dstar)
L4 eff in signal region, if(dstar): test D* finder (in gamma p), else just L4 class
var: pt, eta, phi, ptSumEt, wGammaP, y, nTrackEv, nTrack
TArrayD TotalL4EffSR(Int_t dstar)
TH1* CreateL4EffDsClassSR(const char* var)
effciency of L4-D*-finder if L4-class already requested
var: pt, eta, phi, ptSumEt, wGammaP, y
TH1* CreateL4EffFit(const char* var, Int_t fitFlag,
Bool_t dstar)
L4 eff via fit,
if(dstar): test D* finder (in gamma p), else just L4 class
var: pt, eta, phi, ptSumEt, wGammaP, y (not nTrackEv!)
GFHistArray* CreateHistArray1D(TH2* hist2D,
const char* varName,
Bool_t noOverUnderFlow,
Bool_t projectX) const
TH1* GetHist(const Char_t* name, const char* dirName)
returns histogram with name 'name' from fFileIn, looking into directory 'dirName'
(but according to fTrigger it may add sth. to the name...)
name of actual period is added to hist's name
TH1* GetHistPt1Cut()
TH1* GetHistPt2Cut()
TH1* GetHistPtCut()
gives histPt1/Cut or ptHist2Cut corresponding to trigger!
TH1* GetHistDs1Jet(const char* forwback)
delta m hist for D* and (other) jet: forwback = 'Forw', 'Back' or empty
TH1* GetHistDs1JetRef(const char* forwBack, UInt_t refFlag)
if(dmRefFlag != 0): First fit a reference hist with all params free, then fit with fFitMode
>=2 [default]: D* inclusive
1 : D* + 1 jet inclusive
TH2* GetHist2D(const char* variable, const char* dirName)
'pt', 'eta', 'phi' or 'wGammaP' so far... added y(?)
TH2* GetHist2DTrack(const char* variablePart)
variable: 'Pt', 'Theta', 'Phi' or 'Length'
Part: 'K', 'Pi' or 'Pis'
example: variablePart = "PtPi"
TH3* GetHist3D(const char* variablePair)
yeta, wGammaPeta
TH1* GetHist2Diff(Bool_t& flip, const char *v1,const char *v2,
const char * nameAdd, const char* dir)
TH1* GetHistD0Pt1Cut()
TH1* GetHistD0Pt2Cut()
TH1* GetHistD0PtCut()
gives histPt1/Cut or ptHist2Cut corresponding to trigger!
TH2* GetHist2DD0(const char* variable)
'pt', 'eta', 'phi' or 'wGammaP' so far...
TH2* GetHist2DTriggers(const char* var)
L4v, L1ac, L1L4; for S83/S84 maybe followed by Ntrig
TH2* GetHist2DEventClass()
TH2* GetHist2DDoubleTrigPt()
TH2* GetHist2DPtDsOverSumEt()
TH1* CreateHistYBins(TH2* hist2D, const char* titleAdd)
void MakeStringName(TString& name) const
replace all 'un-nice' char (and 'GeV'):
name.ReplaceAll("#{}()[]*/.,;:<>?+-^! ", 0); doesn't work
and add name of period to the name
also make name unique via GFHistManip::MakeUniqueName
void SetHistPointerNull()
void CorrectForBinWidth(TH1* hist) const
divides all bins content and error through the binwidth
void Normalise(TH1* hist, Bool_t overUnderFlow) const
normalises hist content to 1 (for 1D may take over/underflow into account!)
void FitD0Hists(GFHistArray* arrayD0Hists)
void FitGaus(GFHistArray* arrayGausHists,
TH1* histMean, TH1* histSigma)
fitting a gaus to hists in arrayGausHists
if histsMean/histsSigma given and correct number of bins:
will fill mean and sigma into it
const char* GetSampleName() const
TH1* DrawDmVariable(const char* varName, TH2* hWc2D, TH1* hWc, Bool_t perBinW)
assumes that fHist2D and fHist1D are already filled correctly,
returns N(D*)/binwidth-hist
TH1* DrawTrackReally(const char* varName)
TArrayD CountSignal(TH1* hist, Bool_t subtractBack) const
void PrintTable(const TH1* hist, const char* title) const
formated printing the bin content and error, starting with title
void PrintPlusMinus(const TArrayD& values, const char* title) const
priniting <title>: values[0] +/- values[1]
Inline Functions
void SetFitModeD0(Int_t mode)
void SetPeriod(const char* per)
Bool_t SetBatch(Bool_t yesNo = kTRUE)
Int_t GetTrigger() const
GFHistManager* GetHistManager()
GFMultiDmFitter* GetMultiDmFitter()
const char* GetPeriod() const
const TFile* GetInFile() const
Bool_t IsBatch() const
void Print(const char* fileName)
TGraphAsymmErrors* TmpGraph(TGraphAsymmErrors* grIn = 0)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
GFDstarHistsAnalysis GFDstarHistsAnalysis(const GFDstarHistsAnalysis&)
Author: Gero Flucke
Last update: Wed Jan 11 14:07:03 2006
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.