fNucPdf(0),
fTriggerParticle(0),
fTriggerEta(0.9),
+ fTriggerEtaMin(0.9),
fTriggerMinPt(-1),
fTriggerMaxPt(1000),
fTriggerMultiplicity(0),
fNucPdf(0),
fTriggerParticle(0),
fTriggerEta(0.9),
+ fTriggerEtaMin(0.9),
fTriggerMinPt(-1),
fTriggerMaxPt(1000),
fTriggerMultiplicity(0),
fParentSelect[6] = 5332;
fFlavorSelect = 5;
break;
+ case kPyBPlusppMNRwmi:
+ fParentSelect[0]= 521;
+ fFlavorSelect = 5;
+ break;
case kPyJpsiChi:
case kPyJpsi:
fParentSelect[0] = 443;
fProcess != kPyMbMSEL1 &&
fProcess != kPyW &&
fProcess != kPyZ &&
- fProcess != kPyZgamma &&
+ fProcess != kPyZgamma &&
fProcess != kPyCharmppMNRwmi &&
fProcess != kPyBeautyppMNRwmi &&
fProcess != kPyBeautyJets &&
- fProcess != kPyWPWHG &&
- fProcess != kPyJetsPWHG &&
- fProcess != kPyCharmPWHG &&
- fProcess != kPyBeautyPWHG) {
+ fProcess != kPyWPWHG &&
+ fProcess != kPyJetsPWHG &&
+ fProcess != kPyCharmPWHG &&
+ fProcess != kPyBeautyPWHG) {
for (i = 0; i < np; i++) {
TParticle* iparticle = (TParticle *) fParticles.At(i);
kf = CheckPDGCode(iparticle->GetPdgCode());
if (kf != fTriggerParticle) continue;
if (iparticle->Pt() == 0.) continue;
- if (TMath::Abs(iparticle->Eta()) > fTriggerEta) continue;
+ if (fTriggerEtaMin == fTriggerEta) {
+ if (TMath::Abs(iparticle->Eta()) > fTriggerEta) continue;
+ } else {
+ if (iparticle->Eta() > fTriggerEta || iparticle->Eta() < fTriggerEtaMin) continue;
+ }
if ( iparticle->Pt() > fTriggerMaxPt || iparticle->Pt() < fTriggerMinPt ) continue;
triggered = kTRUE;
break;
Bool_t theChild=kFALSE;
Bool_t triggered=kFALSE;
Float_t y;
- Int_t pdg,mpdg,mpdgUpperFamily;
- for(i=0; i<np; i++) {
+ Int_t pdg, mpdg, mpdgUpperFamily;
+ for(i = 0; i < np; i++) {
partCheck = (TParticle*)fParticles.At(i);
pdg = partCheck->GetPdgCode();
if(TMath::Abs(pdg) == fFlavorSelect) { // quark
//Introducing child cuts in case kPyW, kPyZ, kPyMb, and kPyMbNonDiff
if ( (
- fProcess == kPyWPWHG ||
- fProcess == kPyW ||
+ fProcess == kPyWPWHG ||
+ fProcess == kPyW ||
fProcess == kPyZ ||
- fProcess == kPyZgamma ||
+ fProcess == kPyZgamma ||
fProcess == kPyMbDefault ||
fProcess == kPyMb ||
fProcess == kPyMbAtlasTuneMC09 ||
return 0;
}
}
-
+
for (i = 0; i < np; i++) {
Int_t trackIt = 0;
// Trigger on a single particle (not related to calorimeter trigger above)
virtual void SetTriggerParticle(Int_t particle = 0, Float_t etamax = 0.9, Float_t ptmin = -1, Float_t ptmax = 1000)
- {fTriggerParticle = particle; fTriggerEta = etamax; fTriggerMinPt = ptmin; fTriggerMaxPt = ptmax;}
+ {fTriggerParticle = particle; fTriggerEta = etamax; fTriggerEtaMin = etamax; fTriggerMinPt = ptmin; fTriggerMaxPt = ptmax;}
+ virtual void SetTriggerParticle(Int_t particle, Float_t etamin, Float_t etamax, Float_t ptmin, Float_t ptmax)
+ {fTriggerParticle = particle; fTriggerEtaMin = etamin, fTriggerEta = etamax; fTriggerMinPt = ptmin; fTriggerMaxPt = ptmax;}
//
// Heavy flavor options
Int_t fNucPdf; // Nuclear pdf 0: EKS98 1: EPS08
Int_t fTriggerParticle; // Trigger on this particle ...
Float_t fTriggerEta; // .. within |eta| < fTriggerEta
+ Float_t fTriggerEtaMin; // .. within fTriggerEtaMin < eta < fTriggerEta
Float_t fTriggerMinPt; // .. within pt > fTriggerMinPt
Float_t fTriggerMaxPt; // .. within pt < fTriggerMaxPt
Int_t fTriggerMultiplicity; // Trigger on events with a minimum charged multiplicity