GFDstarAnalyseMc
class description - source file - inheritance tree
protected:
void CreateHistsAccept()
void CreateHistsBranching()
virtual void CreateHistsD0()
virtual void CreateHistsDm(GFHistArray*& dmHist, GFHistArray*& dmHist83, GFHistArray*& dmHist84, const TString& nameAdd)
void CreateHistsDsDiJetPurStab()
void CreateHistsDsDiJetTrig()
void CreateHistsDsJetPurStab()
void CreateHistsDsJetQuark()
void CreateHistsDsJetTrig()
virtual void CreateHistsDstarDiJet()
void CreateHistsDstarDiJetGen()
virtual void CreateHistsDstarJets()
void CreateHistsDstarJetsGen()
void CreateHistsEflow()
void CreateHistsGen()
void CreateHistsHadronisation()
void CreateHistsHadronisationDsDiJet()
virtual void CreateHistsJetMult()
void CreateHistsJetQuark()
virtual void CreateHistsL4Eff2()
virtual void CreateHistsSumEt()
virtual void CreateHistsTracks()
void CreateHistsTrig()
void CreateHistsWeight()
void CreateHistsYjbRes(const char* namAdd = "0")
void FillHistsGen(const H1PartMC* genDstar, const TObjArray* jets, GFHistArray* hists, Double_t weight) const
void FillHistsJetQuark(const GFHistArray* jetQuarkHists, const H1PartJet* jet1, const H1PartJet* jet2, const H1PartMC* quark1, const H1PartMC* quark2)
Double_t GetEffCorrFactor(const H1PartDstar* ds) const
Double_t GetEffCorrFactor(Double_t pt, Double_t theta) const
Double_t GetMeanAccept44(Double_t y)
virtual Double_t GetWeight(Int_t trigger, const H1PartDstar* ds) const
virtual Float_t GetWgammaP33() const
virtual Float_t GetWgammaP44() const
virtual Float_t GetY33() const
virtual Float_t GetY44() const
void HatSelectYear(const TString& year)
public:
GFDstarAnalyseMc()
virtual ~GFDstarAnalyseMc()
static Double_t Associate(const H1Part* ref1, const H1Part* ref2, H1PartMC*& outCloseTo1, H1PartMC*& outCloseTo2)
static TClass* Class()
virtual Bool_t DstarCutLoose(const H1PartDstar* ds) const
Bool_t DstarCutLoose(const H1PartMC* ds) const
Bool_t DstarIsGenerated(const H1PartDstar* ds) const
virtual void EndJob()
void FillHistsBranching()
void FillHistsDsDiJetPurStab(const H1PartDstar* ds)
void FillHistsDsDiJetTrig(const H1PartDstar* trigDstar)
void FillHistsDsJetPurStab(const H1PartDstar* ds, Bool_t all)
void FillHistsDsJetQuark(const H1PartDstar* ds)
void FillHistsDsJetTrig(const H1PartDstar* trigDstar)
void FillHistsDstarDiJetGen(const H1PartMC* genDstar)
void FillHistsDstarJetsGen(const H1PartMC*)
Bool_t FillHistsEffTrigAccept(const H1PartDstar* trigDstar)
void FillHistsEflow(const H1PartDstar* ds)
void FillHistsGen(const H1PartMC* genDstar)
void FillHistsHadronisation(const H1PartMC* dstar)
void FillHistsHadronisationDsDiJet(const H1PartMC* dstar)
void FillHistsJetQuark(const H1PartDstar* ds)
void FillHistsPurStab(Double_t varRec, Double_t varGen, GFHistArray* hists, Double_t weight = 1., const Bool_t* fill = 0) const
virtual void FillHistsTest(const H1PartDstar* dstar)
void FillHistsWeight(TObjArray* dstars, TObjArray* genParts)
virtual void FillHistsYjbRes(const H1PartDstar* dstar)
const H1PartMC* GetCloseGenDsKpipi(const H1Part* ds, Option_t* opt) const
H1PartJet* GetDstarPartonJet(const TObjArray* partJets, const H1PartMC* ds, const TObjArray* allPartMc) const
Bool_t GetGenDiJets(const H1PartMC* dstar, const H1PartJet*& dsJet, const H1PartJet*& oJet) const
Double_t GetGenEnergies(Double_t& forwBeam, Double_t& forward, Double_t& forwardBar, Double_t& barrel, Double_t& spacal) const
TObjArray GetGenJets() const
Bool_t GetHeavyQuarks(H1PartMC*& quark, H1PartMC*& antiQuark) const
Int_t GetNonDstarGenJets(const H1PartMC* dstar, TObjArray& jets) const
Bool_t GetPartDiJets(const H1PartMC* dstar, const H1PartJet*& dsJet, const H1PartJet*& oJet, const TObjArray* allPartMc) const
TObjArray GetPartonJets() const
Double_t GetQ2gen() const
Float_t GetWgammaPgen() const
Double_t GetXgammaMass(const H1PartMC* dstar, const H1PartJet* jet, Double_t yHfs) const
Double_t GetXgammaMassDiJet(const H1PartMC* dstar, const H1PartJet* dsJet, const H1PartJet* othJet, Double_t yHfs) const
virtual Double_t GetXgammaMassDiJetHelp(const H1Part* dstar, const H1PartJet* dsJet, const H1PartJet* othJet) const
virtual Double_t GetXgammaMassHelp(const H1Part* dstar, const H1PartJet* jet) const
Double_t GetXpMass(const H1PartMC* dstar, const H1PartJet* jet) const
virtual Double_t GetXpMassHelp(const H1Part* dstar, const H1PartJet* jet) const
Double_t GetYgen() const
Double_t GetYgenVis() const
Double_t GetYjbGen() const
Double_t GetZgen(const H1PartMC* genDs) const
Bool_t HasOffShellParton(const TObjArray* allPartMc) const
virtual TClass* IsA() const
Bool_t IsAncestor(const H1PartMC *const ancest, const H1PartMC* part, const TObjArray* allMc) const
virtual Bool_t IsL4Found(Int_t hqsel45bit, const H1PartDstar* ds, Int_t hqselMode = -2) const
virtual Bool_t IsL4Ref(Int_t trigger) const
virtual Bool_t IsS83(const H1PartDstar* dstar = 0) const
virtual Bool_t IsS83Gen(const H1PartMC* dstar = 0) const
virtual Bool_t IsS83NoL1Check(const H1PartDstar* dstar) const
virtual Bool_t IsS83NoL4Check(const H1PartDstar* dstar) const
virtual Bool_t IsS84(const H1PartDstar* dstar = 0) const
virtual Bool_t IsS84Gen(const H1PartMC* dstar = 0) const
virtual Bool_t IsS84NoL1Check(const H1PartDstar* dstar) const
virtual Bool_t IsS84NoL4Check(const H1PartDstar* dstar) const
virtual void OpenTree()
virtual void PrepareEvent()
Bool_t SetWeight()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void StartJob()
virtual void StartRun(Int_t run)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void SwitchOffExtraW()
protected:
Double_t fEventCutQ2Gen
GFHistArray* fTrigHistsS83 rec and trig (TE 31 && 19)
GFHistArray* fTrigHistsS84
GFHistArray* fNonTrigHistsS83 rec but maybe not trig
GFHistArray* fNonTrigHistsS84
GFHistArray* fTrigHists19S83 rec and TE 19
GFHistArray* fTrigHists19S84
GFHistArray* fTrigHists31S83 rec and TE 31
GFHistArray* fTrigHists31S84
GFHistArray* fGenHistsS83
GFHistArray* fGenHistsS84
GFHistArray* fDetAccHistsS83
GFHistArray* fAcceptHistsS83
GFHistArray* fAcceptHistsS84
GFHistArray* fGenAcceptHistsS83
GFHistArray* fGenAcceptHistsS84
GFHistArray* fGenNoAccWeightHistsS83
GFHistArray* fGenNoAccWeightHistsS84
GFHistArray* fGenWeightHistsS83
GFHistArray* fGenWeightHistsS84
GFHistArray* fWeightHistsS83
GFHistArray* fWeightHistsS84
GFHistArray* fYjbResHists hists for y_jb resolution hists
GFHistArray* fYjbResHistsS83 hists for y_jb resolution hists
GFHistArray* fYjbResHistsS84 hists for y_jb resolution hists
GFHistArray* fEflowHistsS83 hists for energy flow in different detector regions
GFHistArray* fEflowHistsS84 hists for energy flow in different detector regions
GFHistArray* fJetQuarkHists
GFHistArray* fJetQuarkHistsS83
GFHistArray* fJetQuarkHistsS84
Int_t fNumJetQuarkHistsPerJet
GFHistArray* fDsJetQuarkHistsS83
GFHistArray* fDstar1JetHistsGS83 just count
GFHistArray* fDstar1JetHistsGAS83 acceptance weighted
GFHistArray* fDstar1JetHistsGWS83 weighted
GFHistArray* fDstar1JetHistsGNAWS83 weighted w/o acceptance part
GFHistArray* fDstarBack1JetHistsGS83 now for eta(D*) < eta(jet)
GFHistArray* fDstarBack1JetHistsGAS83
GFHistArray* fDstarBack1JetHistsGWS83
GFHistArray* fDstarBack1JetHistsGNAWS83
GFHistArray* fDstarForw1JetHistsGS83 now for eta(D*) > eta(jet)
GFHistArray* fDstarForw1JetHistsGAS83
GFHistArray* fDstarForw1JetHistsGWS83
GFHistArray* fDstarForw1JetHistsGNAWS83
GFHistArray* fDstar1JetHistsGS84 now for S84
GFHistArray* fDstar1JetHistsGAS84
GFHistArray* fDstar1JetHistsGWS84
GFHistArray* fDstar1JetHistsGNAWS84
GFHistArray* fDstarBack1JetHistsGS84
GFHistArray* fDstarBack1JetHistsGAS84
GFHistArray* fDstarBack1JetHistsGWS84
GFHistArray* fDstarBack1JetHistsGNAWS84
GFHistArray* fDstarForw1JetHistsGS84
GFHistArray* fDstarForw1JetHistsGAS84
GFHistArray* fDstarForw1JetHistsGWS84
GFHistArray* fDstarForw1JetHistsGNAWS84
GFHistArray* fDstarDiJetHistsGS83
GFHistArray* fDstarDiJetHistsGAS83
GFHistArray* fDstarDiJetHistsGWS83
GFHistArray* fDstarDiJetHistsGNAWS83
GFHistArray* fDstarDiJetHistsGS84
GFHistArray* fDstarDiJetHistsGAS84
GFHistArray* fDstarDiJetHistsGWS84
GFHistArray* fDstarDiJetHistsGNAWS84
GFHistArray* fNonTrigDs1JetHistsS83 rec but maybe not trig
GFHistArray* fNonTrigDs1JetHistsS84
GFHistArray* fTrigDs1JetHistsS83 rec and trig (TE 31 && 19)
GFHistArray* fTrigDs1JetHistsS84
GFHistArray* fTrig19Ds1JetHistsS83 rec and TE 19
GFHistArray* fTrig19Ds1JetHistsS84
GFHistArray* fTrig31Ds1JetHistsS83 rec and TE 31
GFHistArray* fTrig31Ds1JetHistsS84
GFHistArray* fNonTrigDs1JetBackHistsS83
GFHistArray* fNonTrigDs1JetBackHistsS84
GFHistArray* fTrigDs1JetBackHistsS83
GFHistArray* fTrigDs1JetBackHistsS84
GFHistArray* fTrig19Ds1JetBackHistsS83
GFHistArray* fTrig19Ds1JetBackHistsS84
GFHistArray* fTrig31Ds1JetBackHistsS83
GFHistArray* fTrig31Ds1JetBackHistsS84
GFHistArray* fNonTrigDs1JetForwHistsS83
GFHistArray* fNonTrigDs1JetForwHistsS84
GFHistArray* fTrigDs1JetForwHistsS83
GFHistArray* fTrigDs1JetForwHistsS84
GFHistArray* fTrig19Ds1JetForwHistsS83
GFHistArray* fTrig19Ds1JetForwHistsS84
GFHistArray* fTrig31Ds1JetForwHistsS83
GFHistArray* fTrig31Ds1JetForwHistsS84
GFHistArray* fNonTrigDsDiJetHistsS83 rec but maybe not trig
GFHistArray* fNonTrigDsDiJetHistsS84
GFHistArray* fTrigDsDiJetHistsS83 rec and trig (TE 31 && 19)
GFHistArray* fTrigDsDiJetHistsS84
GFHistArray* fTrig19DsDiJetHistsS83 rec and TE 19
GFHistArray* fTrig19DsDiJetHistsS84
GFHistArray* fTrig31DsDiJetHistsS83 rec and TE 31
GFHistArray* fTrig31DsDiJetHistsS84
GFHistArray* fDsJetPurStabHists
GFHistArray* fDsJetPurStabHistsDphi
GFHistArray* fDsJetPurStabHistsDeta
GFHistArray* fDsJetPurStabHistsDeltaR
GFHistArray* fDsJetPurStabHistsXgam
GFHistArray* fDsJetPurStabHistsDsPt
GFHistArray* fDsJetPurStabHistsJetPt
GFHistArray* fDsJetPurStabHistsJetEta
GFHistArray* fDsJetPurStabHistsJetPhi
GFHistArray* fDsJetPurStabHistsJetDaugh
GFHistArray* fDsJetPurStabHistsChFrac
GFHistArray* fDsJetPurStabHistsDsJetPt
GFHistArray* fDsJetPurStabHistsPtDsJetOrth
GFHistArray* fDsJetPurStabHistsDsJetM
GFHistArray* fDsJetPurStabHistsCosTh
GFHistArray* fDsJetPurStabHistsS83
GFHistArray* fDsJetPurStabHistsDphiS83
GFHistArray* fDsJetPurStabHistsDetaS83
GFHistArray* fDsJetPurStabHistsDeltaRS83
GFHistArray* fDsJetPurStabHistsXgamS83
GFHistArray* fDsJetPurStabHistsDsPtS83
GFHistArray* fDsJetPurStabHistsJetPtS83
GFHistArray* fDsJetPurStabHistsJetEtaS83
GFHistArray* fDsJetPurStabHistsJetPhiS83
GFHistArray* fDsJetPurStabHistsJetDaughS83
GFHistArray* fDsJetPurStabHistsChFracS83
GFHistArray* fDsJetPurStabHistsDsJetPtS83
GFHistArray* fDsJetPurStabHistsDsJetPt2S83
GFHistArray* fDsJetPurStabHistsPtDsJetOrthS83
GFHistArray* fDsJetPurStabHistsDsJetMS83
GFHistArray* fDsJetPurStabHistsCosThS83
GFHistArray* fDsPurStabHistsZDsS83
TObjArray* fDsJetPurStabEtaInPtHistArrays
TObjArray* fDsJetPurStabPtInEtaHistArrays
TObjArray* fDsJetPurStabPtInPtHistArrays
TObjArray* fDsJetPurStabEtaInPtHistArraysS83
TObjArray* fDsJetPurStabPtInEtaHistArraysS83
TObjArray* fDsJetPurStabPtInPtHistArraysS83
GFHistArray* fDsDiJetPurStabHistsS83
GFHistArray* fDsDiJetPurStabHistsDetaS83
GFHistArray* fDsDiJetPurStabHistsDphiS83
GFHistArray* fDsDiJetPurStabHistsXgamS83
GFHistArray* fDsDiJetPurStabHistsCosThS83
GFHistArray* fDsDiJetPurStabHistsDijetPtS83
GFHistArray* fDsDiJetPurStabHistsDijetPt2S83
GFHistArray* fDsDiJetPurStabHistsDJetPtS83
GFHistArray* fDsDiJetPurStabHistsOthJetPtS83
GFHistArray* fDsDiJetPurStabHistsDJetEtaS83
GFHistArray* fDsDiJetPurStabHistsOthJetEtaS83
GFHistArray* fBranchingHists
GFHistArray* fHadronisationHistsS83
GFHistArray* fHadronisationGenHistsS83
GFHistArray* fHadPurStabHists
GFHistArray* fHadPurStabHistsJetPt
GFHistArray* fHadPurStabHistsJetEta
GFHistArray* fHadPurStabHistsDphi
GFHistArray* fHadPurStabHistsDeta
GFHistArray* fHadPurStabHistsXgam
GFHistArray* fHadPurStabHistsPtDsJet
GFHistArray* fHadPurStabHistsMDsJet
GFHistArray* fHadronisationDsDiJetHistsS83
GFHistArray* fHadronisationDsDiJetGenHistsS83
GFHistArray* fHadPurStabDijetHists
GFHistArray* fHadPurStabDijetHistsDphi
GFHistArray* fHadPurStabDijetHistsXgam
H1ElectronTagger** fTag84OfPeriod taggers for each 84 period
Double_t fWeight83 storage for weights to apply
Double_t fWeight84 dito
Double_t fWeightPt in case of pt-reweighting store that separately
Double_t fInversePrescale33 to be taken into account in weight
Double_t fInversePrescale44 to be taken into account in weight
Double_t fY33Rec store y calculated from smearing of yGen
TF1* fWeightFunc weighting function
TH1* fMeanAccept84
TH2* fHistEffCorrHighPt
TH2* fHistEffCorrLowPt
GFDstarAnalyseMc
Author: Gero Flucke
Date: June 1st, 2002
last update: $Date: 2006/01/11 12:23:11 $ often
by: $Author: flucke $
C++
#include <iostream>
GFDstarAnalyseMc()
~GFDstarAnalyseMc()
void StartJob()
create taggers for different periods
void StartRun(Int_t run)
adjust the inverse prescale values
void EndJob()
divide hists by lumi and call EndJob from base class
void PrepareEvent()
do things that should manipulate the event and should stay for the whole event
Double_t GetMeanAccept44(Double_t y)
void CreateHistsDm(GFHistArray*& dmHists, GFHistArray*& dmHistsS83,
GFHistArray*& dmHistsS84, const TString& nameAdd)
creating structure for weights for trigger hists
void CreateHistsD0()
void CreateHistsL4Eff2()
creating structure for weights for trigger hists
void CreateHistsDstarJets()
void CreateHistsTracks()
void CreateHistsJetMult()
void CreateHistsSumEt()
void CreateHistsDstarDiJet()
void CreateHistsTrig()//const char* nameAdd)
void CreateHistsAccept()
void CreateHistsGen()//const char* nameAdd)
void CreateHistsYjbRes(const char * nameAdd)
void OpenTree()
void HatSelectYear(const TString& year)
void FillHistsGen(const H1PartMC* genDstar)
assume genDstar to be a D* -> K, pi, pi_s
void FillHistsGen(const H1PartMC* genDstar, const TObjArray* jets,
GFHistArray* hists, Double_t weight) const
filling 'hists' with default set of generated quantities
Bool_t FillHistsEffTrigAccept(const H1PartDstar* trigDstar)
assuming that trigDstar is already reconstructed with the lower
pt-cut and wider eta region
true if trigger bits 19 and 31 are set and we have s83 or s84
filling only for dm-window!
void FillHistsYjbRes(const H1PartDstar* ds)
void CreateHistsWeight()
void FillHistsWeight(TObjArray* dstars, TObjArray* genParts)
void CreateHistsEflow()
void FillHistsEflow(const H1PartDstar* ds)
void CreateHistsJetQuark()
void FillHistsJetQuark(const H1PartDstar* ds)
void FillHistsJetQuark(const GFHistArray* jetQuarkHists,
const H1PartJet* jet1, const H1PartJet* jet2,
const H1PartMC* quark1, const H1PartMC* quark2)
void CreateHistsDsJetQuark()
void FillHistsDsJetQuark(const H1PartDstar *ds)
ds is with soft cuts
fill D* vs quark and D*-jet vs quark hists for S83 in case we have event reconstructed
and generated as D* dijet
void FillHistsPurStab(Double_t varRec, Double_t varGen,
GFHistArray* hists, Double_t weight,
const Bool_t* fill) const
hists: 0 = rec, 1 = rec & gen, 2 = !rec & gen, 3 = rec vs gen (TH2),
4 = (rec-gen)/gen (if gen != 0), 5 = rec-gen
must have same binning, 3/4/5 not filled if not existing
if 'fill' given, only thos hists are filled where fill[i] == kTRUE
void CreateHistsDsJetPurStab()
void FillHistsDsJetPurStab(const H1PartDstar* ds, Bool_t all)
assume loose cut on ds, tighten to higher pt cut, use only signal region
but if ds == NULL: go on!
if all == kFALSE: skip stuff that will load jet particle branches
void CreateHistsDsDiJetPurStab()
void FillHistsDsDiJetPurStab(const H1PartDstar* ds)
assume loose cut on ds, tighten to higher pt cut, use only signal region
S83 only!
void CreateHistsDstarJetsGen()
void FillHistsDstarJetsGen(const H1PartMC* genDstar)
generator hists for D* and (other) jet(s)
assume dstar is really a generated D*
void CreateHistsDstarDiJetGen()
void FillHistsDstarDiJetGen(const H1PartMC* genDstar)
generator hists for D*-dijet
assume dstar is really a generated D*
void CreateHistsDsJetTrig()
D* + 1 jet hists for trigger eff
void FillHistsDsJetTrig(const H1PartDstar* dstar)
fill D* + 1 jet hists for trigger eff
assuming that dstar is already reconstructed with the lower
pt-cut and wider eta region
void CreateHistsDsDiJetTrig()
D* dijet hists for trigger eff
void FillHistsDsDiJetTrig(const H1PartDstar* ds)
fill D* dijet hists for trigger eff
assuming that dstar is already reconstructed with the lower
pt-cut and wider eta region
void CreateHistsBranching()
void FillHistsBranching()
void CreateHistsHadronisation()
void FillHistsHadronisation(const H1PartMC *dstar)
Bool_t HasOffShellParton(const TObjArray *allPartMc) const
true if the event contains a parton shower parton which is off-shell
(or some kind of off-shell, at least...)
H1PartJet* GetDstarPartonJet(const TObjArray *partonJets,
const H1PartMC *dstar,
const TObjArray *allPartMc) const
returns parton level jet in input array that contains heavy quark
fragmenting into dstar
void CreateHistsHadronisationDsDiJet()
void FillHistsHadronisationDsDiJet(const H1PartMC *ds)
void FillHistsTest(const H1PartDstar* ds)
Bool_t DstarCutLoose(const H1PartMC* dstar) const
just check basic D* kinematic, no check on whether we have D* -> K, pi, pi_s
Bool_t DstarCutLoose(const H1PartDstar* dstar) const
static Bool_t first = kTRUE;
if(first){
this->Warning("DstarCutLoose", "manipulated to require generated D* -> K pi pi_s");
first = kFALSE;
DO NOT FORGET to change also D0CutLoose!!
}
Bool_t genDs = kFALSE;
static H1PartMCArrayPtr mcs;
for(Int_t i = 0; i < mcs.GetEntries(); ++i){
if(H1UserDstarUtil::IsDstarKPiPis(mcs[i], mcs.GetArray())){
// with p_t(D*) > 1.0 GeV and 15 < theta(D*) < 165 degrees
if(mcs[i]->GetPt() > 1.
&& mcs[i]->GetTheta() > 15.*TMath::DegToRad()
&& mcs[i]->GetTheta() < 165.*TMath::DegToRad()){
genDs = kTRUE;
break;
}
}
}
const Bool_t result = (genDs && this->GFDstarAnalyse::DstarCutLoose(dstar));
if(fList){
const Double_t dm = dstar->GetDm();
if(dm > 0.148 && dm < 0.15){
static Int_t lastRun = 0;
static Int_t lastEvent = 0;
if(lastEvent != gH1Tree->GetEventNumber() && lastRun != gH1Tree->GetRunNumber()){
lastEvent = gH1Tree->GetEventNumber();
lastRun = gH1Tree->GetRunNumber();
fList->Enter();
}
}
}
return result;
Bool_t IsS83(const H1PartDstar* ds) const
cuts on generated y/Q^2 for ETA33 sample and recunstructed z-Vertex
if dstar != NULL, cuts also on special dstar values (i.e.pt)
Bool_t IsS83NoL1Check(const H1PartDstar* ds) const
Bool_t IsS83NoL4Check(const H1PartDstar* dstar) const
this->Warning("IsS83NoL4Check", "call usual IsS83");
Bool_t IsS84(const H1PartDstar* ds) const
cuts on generated y/Q^2 for ETAG44 sample and recunstructed z-Vertex
if dstar != NULL, cuts also on special dstar values (i.e.eta)
Bool_t IsS84NoL1Check(const H1PartDstar* ds) const
Bool_t IsS84NoL4Check(const H1PartDstar* dstar) const
this->Warning("IsS84NoL4Check", "call usual IsS84");
Bool_t IsL4Found(Int_t hqsel45Bit, const H1PartDstar *ds, Int_t hqselMode) const
true if bit 'hqsel45Bit' of L4 charm finder is set in given mode
looking into offline bank YRCL
ds is ignored
Bool_t IsL4Ref(Int_t subtrig) const
for 83/84 always true!
Bool_t IsS83Gen(const H1PartMC* dstar) const
true if cuts on generated y_gki and Q2_gki fullfilled
if dstar != NULL (NULL is default): cuts on lower pt for ETAG33 sample
Bool_t IsS84Gen(const H1PartMC* dstar) const
true if cuts on generated y_gki and Q2_gki fullfilled
if dstar != NULL (NULL is default): cuts on lower eta for ETAG44 sample
Double_t GetYgen() const
Double_t GetYjbGen() const
Double_t GetYgenVis() const
Double_t GetQ2gen() const
Bool_t DstarIsGenerated(const H1PartDstar* ds) const
checks whether K/pi/pis are generated as K/pi/pis and come from proper
decay channel
FIXME: - no check done whether D0 has more than two decay products!
- always assumed that (GTR[i]->GetPmo()%10000 -1) is the only mother!
Float_t GetWgammaP33() const
Float_t GetWgammaP44() const
Float_t GetWgammaPgen() const
Float_t GetY33() const
Float_t GetY44() const
Double_t GetZgen(const H1PartMC *genDs) const
Double_t GetXgammaMass(const H1PartMC* dstar,const H1PartJet* jet,
Double_t yHfs) const
SLOW: loop over jet daughters!!!
xgamma taking into account masses:
[(E-pz)_{D*} + sum_{i=1}^{N(jet daught)}(E-pz)_{i}]/2*yHfs*E_{e}
BUT:
extra (massless) formula for parton jets that overwrites yHfs!
Double_t GetXgammaMassHelp(const H1Part* dstar,
const H1PartJet* jet) const
Double_t GetXgammaMassDiJet(const H1PartMC *dstar,
const H1PartJet *dsJet, const H1PartJet *oJet,
Double_t yHfs) const
SLOW: loop over jet daughters!!!
xgamma taking into account masses
[(sum_{i=1}^{N(D*-jet daught)}(E-pz)_{i}] + sum_{i=j}^{N(D*-jet daught)}(E-pz)_{j}])
/2*yHfs*E_{e}
BUT:
extra (massless) formula for parton jets that overwrites yHfs!
Double_t GetXgammaMassDiJetHelp(const H1Part *dstar,
const H1PartJet *dsJet,
const H1PartJet *oJet) const
Double_t GetXpMass(const H1PartMC* dstar,const H1PartJet* jet) const
SLOW: loop over jet daughters!!!
x_p taking into account masses:
[(E+-pz)_{D*} + sum_{i=1}^{N(jet daught)}(E+pz)_{i}]/2*E_{p}
Double_t GetXpMassHelp(const H1Part* dstar,
const H1PartJet* jet) const
Double_t GetGenEnergies(Double_t &forwBeam, Double_t& forward,
Double_t& forwardBar, Double_t& barrel,
Double_t& spacal) const
fills generated energie sums in detector region defined by some angle (cf.code)
returns sum of all DETECTOR regions (forwBeam not added!)
we take only visible energy: no neutrinos and...
...cuts against low momentum particles that do not reach device
in spacal region E > 0.1 || (theta > 20 && theta < 160 && pt > 0.12 && charged),
Barrel E > 0.2 || -----------------"---------------------------------,
Forward E > 0.2 || -----------------"---------------------------------
void SwitchOffExtraW()
delete a potential additional weight function (only CASCADE has one so far...)
Bool_t SetWeight()
weights, y33rec,...
Double_t GetWeight(Int_t trigger, const H1PartDstar *ds) const
Bool_t GetHeavyQuarks(H1PartMC*& quark, H1PartMC*& antiQuark) const
find the quarks coming from the hard process
Double_t Associate(const H1Part* ref1, const H1Part* ref2,
H1PartMC*& outCloseTo1, H1PartMC*& outCloseTo2)
taking outCloseTo1/2 as input, which combination
(ref1 <-> outCloseTo1 + ref2 <-> outCloseTo2)
or (ref1 <-> outCloseTo2 + ref2 <-> outCloseTo1)
gives the minimal sum of eta-phi distances.
outCloseTo1/2 are changed that 1 is the one for ref1, analog for2,
return sum of distances.
TObjArray GetGenJets() const
returns array of jets surviving the cuts, sorted in eta
Int_t GetNonDstarGenJets(const H1PartMC* dstar,
TObjArray& jets) const
array of generator (hadron) jets passing the minimal criteria and NOT containing 'dstar'
will be put into 'jets'
ordered in eta: most backward first!
returns the index of the jet, that comes after the D*
if we put the D* into the list, too:
-1: no jets left
0: D* more backwards than most backward jet
1: D* between most backward and next more forward jet
2: etc.
Bool_t GetGenDiJets(const H1PartMC* dstar, const H1PartJet *&dsJet,
const H1PartJet *&oJet) const
dsJet and oJet are set (possibly only one of them!)
return kFALSE if dstar not in dsJet (i.e. dsJet is closer than oJet to D*)
Bool_t GetPartDiJets(const H1PartMC* dstar, const H1PartJet *&dsJet,
const H1PartJet *&oJet,
const TObjArray *allPartMc) const
dijets on parton level (after shower)
dsJet and oJet are set (possibly only one of them!)
return kFALSE if the parton hadronsing into the D* is not
in dsJet (than dsJet is defined as being closer to D* than oJet)
TObjArray GetPartonJets() const
const H1PartMC* GetCloseGenDsKpipi(const H1Part* ds, Option_t *opt) const
returns closest same charged D*->Kpipi on generator level to ds,
Bool_t IsAncestor(const H1PartMC *const ancest, const H1PartMC *part,
const TObjArray *allMc) const
check whether ancest is a mother or grandmother or whatever generation of ancestors
of part, allMc must be the array from H1PartMCArrayPtr
(ancest and part must be from this array and not a copy!)
Double_t GetEffCorrFactor(const H1PartDstar *ds) const
Sebastian's efficiency correction for whole D*
Double_t GetEffCorrFactor(Double_t pt, Double_t theta) const
Sebastian's efficiency correction for a track with pt and theta
Inline Functions
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Gero Flucke
Last update: Wed Jan 11 14:06:55 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.