fhEffH3(0x0),
fUseTrPtResolutionSmearing(kFALSE),
fUseDiceEfficiency(kFALSE),
+ fDiceEfficiencyMinPt(0.),
fUseTrPtResolutionFromOADB(kFALSE),
fUseTrEfficiencyFromOADB(kFALSE),
fPathTrPtResolution(""),
fhEffH3(0x0),
fUseTrPtResolutionSmearing(kFALSE),
fUseDiceEfficiency(kFALSE),
+ fDiceEfficiencyMinPt(0.),
fUseTrPtResolutionFromOADB(kFALSE),
fUseTrEfficiencyFromOADB(kFALSE),
fPathTrPtResolution(""),
Double_t sumEff = eff[0]+eff[1]+eff[2];
fp1Efficiency->Fill(vp->Pt(),sumEff);
- if(rnd>sumEff) continue;
+ if(rnd>sumEff && pT > fDiceEfficiencyMinPt) continue;
if(fUseTrPtResolutionSmearing) {
//Smear momentum of generated particle
virtual Bool_t Notify();
-
virtual void SetAODTrackInput(Bool_t b){fUseAODTrackInput = b;}
virtual void SetAODMCInput(Bool_t b){fUseAODMCInput = b;}
virtual void SetEventSelection(Bool_t b){fEventSelection = b;}
virtual void SetChangeEfficiencyFraction(Double_t p) {fChangeEfficiencyFraction = p;}
virtual void SetSmearResolution(Bool_t b){fUseTrPtResolutionSmearing = b;}
virtual void SetDiceEfficiency(Bool_t b){fUseDiceEfficiency = b;}
+ virtual void SetDiceEfficiencyMinPt(Double_t pt) {fDiceEfficiencyMinPt = pt;}
virtual void SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3);
virtual void SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3);
TH1 *fhEffH3; // Efficiency for Spectra Hybrid Category 3
Bool_t fUseTrPtResolutionSmearing; // Apply momentum smearing on track level
Bool_t fUseDiceEfficiency; // Apply efficiency on track level by dicing
+ Double_t fDiceEfficiencyMinPt; // Only do efficiency dicing for tracks above this pt
Bool_t fUseTrPtResolutionFromOADB; // Load track pt resolution root file from OADB path
Bool_t fUseTrEfficiencyFromOADB; // Load tracking efficiency root file from OADB path
TString fPathTrPtResolution; // OADB path to root file
fhEffH3(0x0),
fUseTrPtResolutionSmearing(kFALSE),
fUseDiceEfficiency(kFALSE),
+ fDiceEfficiencyMinPt(0.),
fUseTrPtResolutionFromOADB(kFALSE),
fUseTrEfficiencyFromOADB(kFALSE),
fPathTrPtResolution(""),
fhEffH3(0x0),
fUseTrPtResolutionSmearing(kFALSE),
fUseDiceEfficiency(kFALSE),
+ fDiceEfficiencyMinPt(0.),
fUseTrPtResolutionFromOADB(kFALSE),
fUseTrEfficiencyFromOADB(kFALSE),
fPathTrPtResolution(""),
Double_t sumEff = eff[0]+eff[1]+eff[2];
fp1Efficiency->Fill(vp->Pt(),sumEff);
- if(rnd>sumEff) continue;
+ if(rnd>sumEff && pT > fDiceEfficiencyMinPt) continue;
if(fUseTrPtResolutionSmearing) {
//Smear momentum of generated particle
virtual Bool_t Notify();
-
virtual void SetAODTrackInput(Bool_t b){fUseAODTrackInput = b;}
virtual void SetAODMCInput(Bool_t b){fUseAODMCInput = b;}
virtual void SetEventSelection(Bool_t b){fEventSelection = b;}
virtual void SetChangeEfficiencyFraction(Double_t p) {fChangeEfficiencyFraction = p;}
virtual void SetSmearResolution(Bool_t b){fUseTrPtResolutionSmearing = b;}
virtual void SetDiceEfficiency(Bool_t b){fUseDiceEfficiency = b;}
+ virtual void SetDiceEfficiencyMinPt(Double_t pt) {fDiceEfficiencyMinPt = pt;}
virtual void SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3);
virtual void SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3);
TH1 *fhEffH3; // Efficiency for Spectra Hybrid Category 3
Bool_t fUseTrPtResolutionSmearing; // Apply momentum smearing on track level
Bool_t fUseDiceEfficiency; // Apply efficiency on track level by dicing
+ Double_t fDiceEfficiencyMinPt; // Only do efficiency dicing for tracks above this pt
Bool_t fUseTrPtResolutionFromOADB; // Load track pt resolution root file from OADB path
Bool_t fUseTrEfficiencyFromOADB; // Load tracking efficiency root file from OADB path
TString fPathTrPtResolution; // OADB path to root file