- "Set the number of virtual corrections to consider. -1 is default for no virtual correction.", &MFactory::theM, -1, -1, 0, false, false,
- Interface::lowerlim);
-
- static Parameter<MFactory, int> interfaceonlyk("onlyk", "calculate only the ME with k additional partons.", &MFactory::theonlyk, -1, -1, 0,
- false, false, Interface::lowerlim);
- static Parameter<MFactory, int> interfaceonlymulti("onlymulti", "calculate only the ME with k additional partons.", &MFactory::theonlymulti, -1, -1, 0,
- false, false, Interface::lowerlim);
- static Parameter<MFactory, int> interfaceonlyabove("onlyabove", "calculate only the ME with more than k additional partons.", &MFactory::theonlyabove, -1, -1, 0,
- false, false, Interface::lowerlim);
-
- static Parameter<MFactory, int> interfaceonlysub("onlysub", "calculate only one subProcess. this is for building grids.", &MFactory::theonlysub, -1, -1, 0,
- false, false, Interface::lowerlim);
-
-
-
-
-
-
-
-
-
- static Parameter<MFactory, int> interfacedivideSub("divideSub", "calculate only one subProcess. this is for building grids.", &MFactory::divideSub, -1, -1, 0,
- false, false, Interface::lowerlim);
-
-
- static Parameter<MFactory, int> interfacedivideSubNumber("divideSubNumber", "calculate only one subProcess. this is for building grids.", &MFactory::divideSubNumber, -1, -1, 0,
- false, false, Interface::lowerlim);
-
-
-
-
-
- static Parameter<MFactory, int> interfacechooseHistory("chooseHistory", "different ways of choosing the history", &MFactory::theChooseHistory, 3, -1, 0,
- false, false, Interface::lowerlim);
-
-
- static Switch<MFactory, bool> interface_calc_born("calc_born", "[debug] Switch on or off the born contribution.", &MFactory::calc_born, true,
- false, false);
- static SwitchOption interface_calc_bornOn(interface_calc_born, "On", "Switch on calculation of born.", true);
- static SwitchOption interface_calc_bornOff(interface_calc_born, "Off", "Switch off calculation of born.", false);
-
- static Switch<MFactory, bool> interface_calc_virtual("calc_virtual", "[debug] Switch on or off the virtual contribution.",
- &MFactory::calc_virtual, true, false, false);
- static SwitchOption interface_calc_virtualOn(interface_calc_virtual, "On", "Switch on calculation of virtual.", true);
- static SwitchOption interface_calc_virtualOff(interface_calc_virtual, "Off", "Switch off calculation of virtual.", false);
-
- static Switch<MFactory, bool> interface_calc_real("calc_real", "[debug] Switch on or off the real contribution.", &MFactory::calc_real, true,
- false, false);
- static SwitchOption interface_calc_realOn(interface_calc_real, "On", "Switch on calculation of real.", true);
- static SwitchOption interface_calc_realOff(interface_calc_real, "Off", "Switch off calculation of real.", false);
- static SwitchOption interface_calc_double_inclusiveOn(interface_calc_double_inclusive, "On", "Switch on calculation of double_inclusive.", true);
- static SwitchOption interface_calc_double_inclusiveOff(interface_calc_double_inclusive, "Off", "Switch off calculation of double_inclusive.", false);
-
- static Switch<MFactory, bool> interface_needFOH("needFOH", "Switch on or off the full ordered histories.", &MFactory::needFOH, true, false,
- false);
- static SwitchOption interface_needFOHOn(interface_needFOH, "On", "Switch on the full ordered histories.", true);
- static SwitchOption interface_needFOHOff(interface_needFOH, "Off", "Switch off the full ordered histories.", false);
-
- static Switch<MFactory, bool> interface_theonlyNLOParts("onlyNLOParts", "Switch on or off the onlyNLOParts.", &MFactory::theonlyNLOParts, true, false,
- false);
- static SwitchOption interface_theonlyNLOPartsOn(interface_theonlyNLOParts, "On", "Switch on the theonlyNLOParts.", true);
- static SwitchOption interface_theonlyNLOPartsOff(interface_theonlyNLOParts, "Off", "Switch off the theonlyNLOParts.", false);
-
-
- // theonlyvirtualNLOParts;
- // theonlyrealNLOParts;
-
- static Switch<MFactory, bool> interface_theonlyvirtualNLOParts("onlyvirtualNLOParts", "Switch on or off the onlyvirtualNLOParts.", &MFactory::theonlyvirtualNLOParts, true, false,
- false);
- static SwitchOption interface_theonlyvirtualNLOPartsOn(interface_theonlyvirtualNLOParts, "On", "Switch on the theonlyvirtualNLOParts.", true);
- static SwitchOption interface_theonlyvirtualNLOPartsOff(interface_theonlyvirtualNLOParts, "Off", "Switch off the theonlyvirtualNLOParts.", false);
-
- static Switch<MFactory, bool> interface_theonlyrealNLOParts("onlyrealNLOParts", "Switch on or off the onlyrealNLOParts.", &MFactory::theonlyrealNLOParts, true, false,
- false);
- static SwitchOption interface_theonlyrealNLOPartsOn(interface_theonlyrealNLOParts, "On", "Switch on the theonlyrealNLOParts.", true);
- static SwitchOption interface_theonlyrealNLOPartsOff(interface_theonlyrealNLOParts, "Off", "Switch off the theonlyrealNLOParts.", false);
-
- static Switch<MFactory, bool> interface_theunitarizeNLOParts("unitarizeNLOParts", "Switch on or off the unitarizeNLOParts.", &MFactory::theunitarizeNLOParts, true, false,
- false);
- static SwitchOption interface_theunitarizeNLOPartsOn(interface_theunitarizeNLOParts, "On", "Switch on the unitarizeNLOParts.", true);
- static SwitchOption interface_theunitarizeNLOPartsOff(interface_theunitarizeNLOParts, "Off", "Switch off the unitarizeNLOParts.", false);
-
-
- static Switch<MFactory, bool> interface_theonlyUnlopsweights("onlyUnlopsweights", "Switch on or off the onlyUnlopsweights.", &MFactory::theonlyUnlopsweights, true, false,
- false);
- static SwitchOption interface_theonlyUnlopsweightsOn(interface_theonlyUnlopsweights, "On", "Switch on the onlyUnlopsweights.", true);
- static SwitchOption interface_theonlyUnlopsweightsOff(interface_theonlyUnlopsweights, "Off", "Switch off the onlyUnlopsweights.", false);
- static Parameter<MFactory, double> interfacemergeptsmearing("mergeptsmearing", "Set the percentage the merging pt should be smeared.",
- &MFactory::theMergePTsmearing, 0., 0.,
- 0.0, 0.5, true, false, Interface::limited);
-
- static Parameter<MFactory, double> interfacestairfactor("stairfactor", "Set the pt to be merged to consider.", &MFactory::theStairFactor, 1, 1,
- 1, 4, true, false, Interface::limited);
- interfacestairfactor.setHasDefault(false);
-
-
-
- interfacemergept.setHasDefault(false);
- static Parameter<MFactory, Energy> interfaceNLOmergept("NLOmergept", "NLO:Set the pt to be merged to consider.", &MFactory::theNLOMergePT, GeV, 2.0 * GeV,
+ static Parameter<MFactory, int> interfaceonlyk("onlyk", "calculate only the ME with k additional partons.", &MFactory::theonlyk, -1, -1, 0,
+ false, false, Interface::lowerlim);
+ static Parameter<MFactory, int> interfaceonlymulti("onlymulti", "calculate only the ME with k additional partons.", &MFactory::theonlymulti, -1, -1, 0,
+ false, false, Interface::lowerlim);
+ static Parameter<MFactory, int> interfaceonlyabove("onlyabove", "calculate only the ME with more than k additional partons.", &MFactory::theonlyabove, -1, -1, 0,
+ false, false, Interface::lowerlim);
+
+ static Parameter<MFactory, int> interfaceonlysub("onlysub", "calculate only one subProcess. this is for building grids.", &MFactory::theonlysub, -1, -1, 0,
+ false, false, Interface::lowerlim);
+
+
+
+
+
+
+
+
+
+ static Parameter<MFactory, int> interfacedivideSub("divideSub", "calculate only one subProcess. this is for building grids.", &MFactory::divideSub, -1, -1, 0,
+ false, false, Interface::lowerlim);
+
+
+ static Parameter<MFactory, int> interfacedivideSubNumber("divideSubNumber", "calculate only one subProcess. this is for building grids.", &MFactory::divideSubNumber, -1, -1, 0,
+ false, false, Interface::lowerlim);
+
+
+
+
+
+ static Switch<MFactory, bool> interface_calc_born("calc_born", "[debug] Switch on or off the born contribution.", &MFactory::calc_born, true,
+ false, false);
+ static SwitchOption interface_calc_bornOn(interface_calc_born, "On", "Switch on calculation of born.", true);
+ static SwitchOption interface_calc_bornOff(interface_calc_born, "Off", "Switch off calculation of born.", false);
+
+ static Switch<MFactory, bool> interface_calc_virtual("calc_virtual", "[debug] Switch on or off the virtual contribution.",
+ &MFactory::calc_virtual, true, false, false);
+ static SwitchOption interface_calc_virtualOn(interface_calc_virtual, "On", "Switch on calculation of virtual.", true);
+ static SwitchOption interface_calc_virtualOff(interface_calc_virtual, "Off", "Switch off calculation of virtual.", false);
+
+ static Switch<MFactory, bool> interface_calc_real("calc_real", "[debug] Switch on or off the real contribution.", &MFactory::calc_real, true,
+ false, false);
+ static SwitchOption interface_calc_realOn(interface_calc_real, "On", "Switch on calculation of real.", true);
+ static SwitchOption interface_calc_realOff(interface_calc_real, "Off", "Switch off calculation of real.", false);
+
+
+
+
+ static Switch<MFactory, bool> interface_theonlyNLOParts("onlyNLOParts", "Switch on or off the onlyNLOParts.", &MFactory::theonlyNLOParts, true, false,
+ false);
+ static SwitchOption interface_theonlyNLOPartsOn(interface_theonlyNLOParts, "On", "Switch on the theonlyNLOParts.", true);
+ static SwitchOption interface_theonlyNLOPartsOff(interface_theonlyNLOParts, "Off", "Switch off the theonlyNLOParts.", false);
+
+
+ // theonlyvirtualNLOParts;
+ // theonlyrealNLOParts;
+
+ static Switch<MFactory, bool> interface_theonlyvirtualNLOParts("onlyvirtualNLOParts", "Switch on or off the onlyvirtualNLOParts.", &MFactory::theonlyvirtualNLOParts, true, false,
+ false);
+ static SwitchOption interface_theonlyvirtualNLOPartsOn(interface_theonlyvirtualNLOParts, "On", "Switch on the theonlyvirtualNLOParts.", true);
+ static SwitchOption interface_theonlyvirtualNLOPartsOff(interface_theonlyvirtualNLOParts, "Off", "Switch off the theonlyvirtualNLOParts.", false);
+
+ static Switch<MFactory, bool> interface_theonlyrealNLOParts("onlyrealNLOParts", "Switch on or off the onlyrealNLOParts.", &MFactory::theonlyrealNLOParts, true, false,
+ false);
+ static SwitchOption interface_theonlyrealNLOPartsOn(interface_theonlyrealNLOParts, "On", "Switch on the theonlyrealNLOParts.", true);
+ static SwitchOption interface_theonlyrealNLOPartsOff(interface_theonlyrealNLOParts, "Off", "Switch off the theonlyrealNLOParts.", false);
+
+ static Switch<MFactory, bool> interface_theunitarizeNLOParts("unitarizeNLOParts", "Switch on or off the unitarizeNLOParts.", &MFactory::theunitarizeNLOParts, true, false,
+ false);
+ static SwitchOption interface_theunitarizeNLOPartsOn(interface_theunitarizeNLOParts, "On", "Switch on the unitarizeNLOParts.", true);
+ static SwitchOption interface_theunitarizeNLOPartsOff(interface_theunitarizeNLOParts, "Off", "Switch off the unitarizeNLOParts.", false);
+
+
+ static Switch<MFactory, bool> interface_theonlyUnlopsweights("onlyUnlopsweights", "Switch on or off the onlyUnlopsweights.", &MFactory::theonlyUnlopsweights, true, false,
+ false);
+ static SwitchOption interface_theonlyUnlopsweightsOn(interface_theonlyUnlopsweights, "On", "Switch on the onlyUnlopsweights.", true);
+ static SwitchOption interface_theonlyUnlopsweightsOff(interface_theonlyUnlopsweights, "Off", "Switch off the onlyUnlopsweights.", false);
res *= pow(as(Q_R) / SM().alphaS(), history[0].node->nodeME()->orderInAlphaS());
res *= pow(history[0].node->deepHead()->xcomb()->eventHandler().SM().alphaEMPtr()->value(history[0].node->nodeME()->factory()->scaleChoice()->renormalizationScaleQED())/ SM().alphaEMMZ(), history[0].node->nodeME()->orderInAlphaEW());
for (History::iterator it=history.begin();(it+1)!=history.end();it++){
if ((*it).node->parent()){
Energy q_i=xiRenSh* (*it).node->dipol()->lastPt();
for ( vector<Ptr<MatchboxReweightBase>::ptr>::iterator r = thechildren[i]->dipol()->reweights().begin() ; r != thechildren[i]->dipol()->reweights().end() ;
++r ) {
(**r).flushCaches();
}
if ( thechildren[i]->xcomb() ) thechildren[i]->xcomb()->clean();
thechildren[i]->nodeME()->flushCaches();
thechildren[i]->flushCaches();
}
}
-
-double Node::smear(){
- return treefactory()->smear();
-}
-
-
-
void Node::setKinematics() {
for ( unsigned int i = 0 ; i < thechildren.size() ; ++i ) {