Skip to content

Commit

Permalink
Updates to Resonance Decay Filter
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidMorse committed Oct 11, 2016
1 parent e373a8f commit 250f1f3
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 1 deletion.
Expand Up @@ -20,6 +20,8 @@ class ResonanceDecayFilterHook : public Pythia8::UserHooks {
bool eMuAsEquivalent_;
bool eMuTauAsEquivalent_;
bool allNuAsEquivalent_;
bool udscAsEquivalent_;
bool udscbAsEquivalent_;
std::vector<int> mothers_;
std::vector<int> daughters_;

Expand Down
2 changes: 2 additions & 0 deletions GeneratorInterface/Pythia8Interface/src/Py8InterfaceBase.cc
Expand Up @@ -58,6 +58,8 @@ bool Py8InterfaceBase::readSettings( int )
fMasterGen->settings.addFlag("ResonanceDecayFilter:eMuAsEquivalent",false);
fMasterGen->settings.addFlag("ResonanceDecayFilter:eMuTauAsEquivalent",false);
fMasterGen->settings.addFlag("ResonanceDecayFilter:allNuAsEquivalent",false);
fMasterGen->settings.addFlag("ResonanceDecayFilter:udscAsEquivalent",false);
fMasterGen->settings.addFlag("ResonanceDecayFilter:udscbAsEquivalent",false);
fMasterGen->settings.addMVec("ResonanceDecayFilter:mothers",std::vector<int>(),false,false,0,0);
fMasterGen->settings.addMVec("ResonanceDecayFilter:daughters",std::vector<int>(),false,false,0,0);

Expand Down
Expand Up @@ -11,6 +11,8 @@ bool ResonanceDecayFilterHook::initAfterBeams() {
eMuAsEquivalent_ = settingsPtr->flag("ResonanceDecayFilter:eMuAsEquivalent");
eMuTauAsEquivalent_ = settingsPtr->flag("ResonanceDecayFilter:eMuTauAsEquivalent");
allNuAsEquivalent_ = settingsPtr->flag("ResonanceDecayFilter:allNuAsEquivalent");
udscAsEquivalent_ = settingsPtr->flag("ResonanceDecayFilter:udscAsEquivalent");
udscbAsEquivalent_ = settingsPtr->flag("ResonanceDecayFilter:udscbAsEquivalent");
mothers_ = settingsPtr->mvec("ResonanceDecayFilter:mothers");
daughters_ = settingsPtr->mvec("ResonanceDecayFilter:daughters");

Expand All @@ -28,6 +30,12 @@ bool ResonanceDecayFilterHook::initAfterBeams() {
if ( (did == 14 || did == 16) && allNuAsEquivalent_) {
did = 12;
}
if ( (did == 2 || did==3 || did==4 ) && udscAsEquivalent_) {
did = 1;
}
if ( (did == 2 || did==3 || did==4 || did==5 ) && udscbAsEquivalent_) {
did = 1;
}

++requestedDaughters_[std::abs(did)];
}
Expand Down Expand Up @@ -58,7 +66,12 @@ bool ResonanceDecayFilterHook::checkVetoResonanceDecays(const Event& process) {
if ( (did == 14 || did == 16) && allNuAsEquivalent_) {
did = 12;
}

if ( (did == 2 || did==3 || did==4 ) && udscAsEquivalent_) {
did = 1;
}
if ( (did == 2 || did==3 || did==4 || did==5 ) && udscbAsEquivalent_) {
did = 1;
}
int mid = p.mother1()>0 ? std::abs(process[p.mother1()].id()) : 0;

//if no list of mothers is provided, then all particles
Expand Down
Expand Up @@ -45,6 +45,8 @@
'ResonanceDecayFilter:eMuAsEquivalent = off', #on: treat electrons and muons as equivalent
'ResonanceDecayFilter:eMuTauAsEquivalent = on', #on: treat electrons, muons , and taus as equivalent
'ResonanceDecayFilter:allNuAsEquivalent = on', #on: treat all three neutrino flavours as equivalent
'ResonanceDecayFilter:udscAsEquivalent = off', #on: treat u,d,s,c quarks as equivalent
'ResonanceDecayFilter:udscbAsEquivalent = off', #on: treat u,d,s,c,b quarks as equivalent
#'ResonanceDecayFilter:mothers =', #list of mothers not specified -> count all particles in hard process+resonance decays (better to avoid specifying mothers when including leptons from the lhe in counting, since intermediate resonances are not gauranteed to appear in general
'ResonanceDecayFilter:daughters = 11,11,11,11',
),
Expand Down

0 comments on commit 250f1f3

Please sign in to comment.