9 #include "ProcessContainer.h"
12 #include "SigmaCompositeness.h"
14 #include "SigmaExtraDim.h"
15 #include "SigmaGeneric.h"
16 #include "SigmaHiggs.h"
17 #include "SigmaLeftRightSym.h"
18 #include "SigmaLeptoquark.h"
19 #include "SigmaNewGaugeBosons.h"
20 #include "SigmaOnia.h"
22 #include "SigmaSUSY.h"
37 const int ProcessContainer::N12SAMPLE = 100;
40 const int ProcessContainer::N3SAMPLE = 1000;
47 bool ProcessContainer::init(
bool isFirst, Info* infoPtrIn,
48 Settings& settings, ParticleData* particleDataPtrIn, Rndm* rndmPtrIn,
49 BeamParticle* beamAPtr, BeamParticle* beamBPtr, Couplings* couplingsPtr,
50 SigmaTotal* sigmaTotPtr, ResonanceDecays* resDecaysPtrIn,
51 SusyLesHouches* slhaPtr, UserHooks* userHooksPtr) {
54 isLHA = sigmaProcessPtr->isLHA();
55 isMinBias = sigmaProcessPtr->isMinBias();
56 isResolved = sigmaProcessPtr->isResolved();
57 isDiffA = sigmaProcessPtr->isDiffA();
58 isDiffB = sigmaProcessPtr->isDiffB();
59 isQCD3body = sigmaProcessPtr->isQCD3body();
60 int nFin = sigmaProcessPtr->nFinal();
61 lhaStrat = (isLHA) ? lhaUpPtr->strategy() : 0;
62 lhaStratAbs = abs(lhaStrat);
63 allowNegSig = sigmaProcessPtr->allowNegativeSigma();
66 increaseMaximum = settings.flag(
"PhaseSpace:increaseMaximum");
69 if (isLHA) phaseSpacePtr =
new PhaseSpaceLHA();
70 else if (isMinBias) phaseSpacePtr =
new PhaseSpace2to2minbias();
71 else if (!isResolved && !isDiffA && !isDiffB )
72 phaseSpacePtr =
new PhaseSpace2to2elastic();
73 else if (!isResolved) phaseSpacePtr =
new PhaseSpace2to2diffractive(
75 else if (nFin == 1) phaseSpacePtr =
new PhaseSpace2to1tauy();
76 else if (nFin == 2) phaseSpacePtr =
new PhaseSpace2to2tauyz();
77 else if (isQCD3body) phaseSpacePtr =
new PhaseSpace2to3yyycyl();
78 else phaseSpacePtr =
new PhaseSpace2to3tauycyl();
82 particleDataPtr = particleDataPtrIn;
84 resDecaysPtr = resDecaysPtrIn;
86 sigmaProcessPtr->setLHAPtr(lhaUpPtr);
87 phaseSpacePtr->setLHAPtr(lhaUpPtr);
89 sigmaProcessPtr->init(infoPtr, &settings, particleDataPtr, rndmPtr,
90 beamAPtr, beamBPtr, couplingsPtr, sigmaTotPtr, slhaPtr);
91 phaseSpacePtr->init( isFirst, sigmaProcessPtr, infoPtr, &settings,
92 particleDataPtr, rndmPtr, beamAPtr, beamBPtr, couplingsPtr, sigmaTotPtr,
110 sigmaProcessPtr->initProc();
111 if (!sigmaProcessPtr->initFlux())
return false;
114 bool physical = phaseSpacePtr->setupSampling();
115 sigmaMx = phaseSpacePtr->sigmaMax();
116 double sigmaHalfWay = sigmaMx;
119 sigmaSgn = phaseSpacePtr->sigmaSumSigned();
122 if (physical & !isLHA) {
123 int nSample = (nFin < 3) ? N12SAMPLE : N3SAMPLE;
124 for (
int iSample = 0; iSample < nSample; ++iSample) {
126 while (!test) test = phaseSpacePtr->trialKin(
false);
127 if (iSample == nSample/2) sigmaHalfWay = phaseSpacePtr->sigmaMax();
129 sigmaMx = pow2(phaseSpacePtr->sigmaMax()) / sigmaHalfWay;
130 phaseSpacePtr->setSigmaMax(sigmaMx);
141 bool ProcessContainer::trialProcess() {
144 for (
int iTry = 0; ; ++iTry) {
147 if (sigmaMx == 0.)
return false;
148 infoPtr->setEndOfFile(
false);
149 bool repeatSame = (iTry > 0);
150 bool physical = phaseSpacePtr->trialKin(
true, repeatSame);
153 if (isLHA && !physical) infoPtr->setEndOfFile(
true);
155 if (!physical)
return false;
156 double sigmaNow = phaseSpacePtr->sigmaNow();
159 double sigmaWeight = 1.;
160 if (!isLHA && !increaseMaximum && sigmaNow > sigmaMx)
161 sigmaWeight = sigmaNow / sigmaMx;
162 if ( lhaStrat < 0 && sigmaNow < 0.) sigmaWeight = -1.;
163 if ( lhaStratAbs == 4) sigmaWeight = sigmaNow;
166 double biasWeight = phaseSpacePtr->biasSelectionWeight();
167 weightNow = sigmaWeight * biasWeight;
168 infoPtr->setWeight( weightNow, lhaStrat);
172 if (sigmaNow < sigmaNeg) {
173 infoPtr->errorMsg(
"Warning in ProcessContainer::trialProcess: neg"
174 "ative cross section set 0",
"for " + sigmaProcessPtr->name() );
177 if (sigmaNow < 0.) sigmaNow = 0.;
181 double sigmaAdd = sigmaNow * biasWeight;
182 if (lhaStratAbs == 2 || lhaStratAbs == 3) sigmaAdd = sigmaSgn;
183 sigmaSum += sigmaAdd;
184 sigma2Sum += pow2(sigmaAdd);
187 newSigmaMx = phaseSpacePtr->newSigmaMax();
188 if (newSigmaMx) sigmaMx = phaseSpacePtr->sigmaMax();
192 if (lhaStratAbs < 3) select
193 = (newSigmaMx || rndmPtr->flat() * abs(sigmaMx) < abs(sigmaNow));
195 if (select || lhaStratAbs != 2)
return select;
205 bool ProcessContainer::constructProcess(
Event& process,
bool isHardest) {
208 if (isResolved && !isMinBias) sigmaProcessPtr->pickInState();
209 sigmaProcessPtr->setIdColAcol();
212 if (!phaseSpacePtr->finalKin())
return false;
213 int nFin = sigmaProcessPtr->nFinal();
216 if (isHardest) infoPtr->setType( name(), code(), nFin, isMinBias,
217 isResolved, isDiffA, isDiffB, isLHA);
221 process.append( 90, -11, 0, 0, 0, 0, 0, 0,
222 Vec4(0., 0., 0., infoPtr->eCM()), infoPtr->eCM(), 0. );
223 process.append( infoPtr->idA(), -12, 0, 0, 0, 0, 0, 0,
224 Vec4(0., 0., infoPtr->pzA(), infoPtr->eA()), infoPtr->mA(), 0. );
225 process.append( infoPtr->idB(), -12, 0, 0, 0, 0, 0, 0,
226 Vec4(0., 0., infoPtr->pzB(), infoPtr->eB()), infoPtr->mB(), 0. );
229 if (isMinBias)
return true;
232 process[1].daughter1(3);
233 process[2].daughter1(4);
237 int idRes = sigmaProcessPtr->idSChannel();
238 if (isResolved && !isLHA) {
253 scale = sqrt(Q2Fac());
254 process.scale( scale );
257 int colOffset = process.lastColTag();
258 for (
int i = 1; i <= 2 + nFin; ++i) {
261 int id = sigmaProcessPtr->id(i);
262 int status = (i <= 2) ? -21 : 23;
263 int mother1 = (i <= 2) ? i : m_M1 ;
264 int mother2 = (i <= 2) ? 0 : m_M2 ;
265 int daughter1 = (i <= 2) ? m_D1 : 0;
266 int daughter2 = (i <= 2) ? m_D2 : 0;
267 int col = sigmaProcessPtr->col(i);
268 if (col > 0) col += colOffset;
269 else if (col < 0) col -= colOffset;
270 int acol = sigmaProcessPtr->acol(i);
271 if (acol > 0) acol += colOffset;
272 else if (acol < 0) acol -= colOffset;
275 int iNow = process.append(
id, status, mother1, mother2,
276 daughter1, daughter2, col, acol, phaseSpacePtr->p(i),
277 phaseSpacePtr->m(i), scale);
281 if (i == 2 && idRes != 0) {
284 if (particleDataPtr->hasAnti(idRes)
285 && process[3].chargeType() + process[4].chargeType() < 0)
292 int m_col1 = sigmaProcessPtr->col(1);
293 int m_acol1 = sigmaProcessPtr->acol(1);
294 int m_col2 = sigmaProcessPtr->col(2);
295 int m_acol2 = sigmaProcessPtr->acol(2);
296 if (m_col1 == m_acol2 && m_col2 != m_acol1) {
299 }
else if (m_col2 == m_acol1 && m_col1 != m_acol2) {
303 if ( col > 0) col += colOffset;
304 else if ( col < 0) col -= colOffset;
305 if (acol > 0) acol += colOffset;
306 else if (acol < 0) acol -= colOffset;
309 Vec4 pIntMed = phaseSpacePtr->p(1) + phaseSpacePtr->p(2);
310 process.append( idRes, -22, 3, 4, 6, 5 + nFin, col, acol,
311 pIntMed, pIntMed.mCalc(), scale);
315 if (process[iNow].tau0() > 0.) process[iNow].tau(
316 process[iNow].tau0() * rndmPtr->exp() );
322 int id3 = sigmaProcessPtr->id(3);
323 int status3 = (id3 == process[1].id()) ? 14 : 15;
324 process.append( id3, status3, 1, 0, 0, 0, 0, 0,
325 phaseSpacePtr->p(3), phaseSpacePtr->m(3));
326 int id4 = sigmaProcessPtr->id(4);
327 int status4 = (id4 == process[2].id()) ? 14 : 15;
328 process.append( id4, status4, 2, 0, 0, 0, 0, 0,
329 phaseSpacePtr->p(4), phaseSpacePtr->m(4));
338 newPos.reserve(lhaUpPtr->sizePart());
340 for (
int iNew = 0; iNew < lhaUpPtr->sizePart(); ++iNew) {
343 for (
int i = 1; i < lhaUpPtr->sizePart(); ++i)
344 if (lhaUpPtr->mother1(i) == newPos[iNew]) newPos.push_back(i);
345 if (
int(newPos.size()) <= iNew)
break;
349 scale = lhaUpPtr->scale();
350 double scalePr = (scale < 0.) ? sqrt(Q2Fac()) : scale;
351 process.scale( scalePr);
354 for (
int i = 1; i < lhaUpPtr->sizePart(); ++i) {
355 int iOld = newPos[i];
356 int id = lhaUpPtr->id(iOld);
359 int lhaStatus = lhaUpPtr->status(iOld);
361 if (lhaStatus == 2 || lhaStatus == 3) status = -22;
362 if (lhaStatus == 1) status = 23;
365 int mother1Old = lhaUpPtr->mother1(iOld);
366 int mother2Old = lhaUpPtr->mother2(iOld);
369 for (
int im = 1; im < i; ++im) {
370 if (mother1Old == newPos[im]) mother1 = im + 2;
371 if (mother2Old == newPos[im]) mother2 = im + 2;
373 if (i <= 2) mother1 = i;
376 if (mother1 > 0 && mother2 == mother1) {
377 int sister1 = process[mother1].daughter1();
378 int sister2 = process[mother1].daughter2();
379 if (sister2 != sister1 && sister2 != 0) mother2 = 0;
386 for (
int im = i + 1; im < lhaUpPtr->sizePart(); ++im) {
387 if (lhaUpPtr->mother1(newPos[im]) == iOld
388 || lhaUpPtr->mother2(newPos[im]) == iOld) {
389 if (daughter1 == 0 || im + 2 < daughter1) daughter1 = im + 2;
390 if (daughter2 == 0 || im + 2 > daughter2) daughter2 = im + 2;
394 if (daughter2 == daughter1) daughter2 = 0;
397 int colType = particleDataPtr->colType(
id);
398 int col1 = (colType == 1 || colType == 2 || abs(colType) == 3)
399 ? lhaUpPtr->col1(iOld) : 0;
400 int col2 = (colType == -1 || colType == 2 || abs(colType) == 3)
401 ? lhaUpPtr->col2(iOld) : 0;
404 double px = lhaUpPtr->px(iOld);
405 double py = lhaUpPtr->py(iOld);
406 double pz = lhaUpPtr->pz(iOld);
407 double e = lhaUpPtr->e(iOld);
408 double m = lhaUpPtr->m(iOld);
411 double pol = lhaUpPtr->spin(iOld);
414 double scaleNow = scalePr;
415 if (mother1 > 4) scaleNow = process[mother1].m();
418 int iNow = process.append(
id, status, mother1, mother2, daughter1,
419 daughter2, col1, col2, Vec4(px, py, pz, e), m, scaleNow, pol);
422 double tau = lhaUpPtr->tau(iOld);
423 if (tau > 0.) process[iNow].tau(tau);
428 for (
int i = 3; i < process.size(); ++i) {
429 int iMother = process[i].mother1();
432 if ( process[i - 1].mother1() == iMother && process[i - 1].hasVertex() )
433 process[i].vProd( process[i - 1].vProd() );
436 else if ( process[iMother].hasVertex() || process[iMother].tau() > 0.)
437 process[i].vProd( process[iMother].vDec() );
441 int id1Now = process[3].id();
442 int id2Now = process[4].id();
452 double Q2FacNow, alphaEM, alphaS, Q2Ren, x1Now, x2Now, sHat;
456 pdf1 = sigmaProcessPtr->pdf1();
457 pdf2 = sigmaProcessPtr->pdf2();
458 Q2FacNow = sigmaProcessPtr->Q2Fac();
459 alphaEM = sigmaProcessPtr->alphaEMRen();
460 alphaS = sigmaProcessPtr->alphaSRen();
461 Q2Ren = sigmaProcessPtr->Q2Ren();
462 x1Now = phaseSpacePtr->x1();
463 x2Now = phaseSpacePtr->x2();
464 sHat = phaseSpacePtr->sHat();
465 tHat = phaseSpacePtr->tHat();
466 uHat = phaseSpacePtr->uHat();
467 pTHatL = phaseSpacePtr->pTHat();
468 m3 = phaseSpacePtr->m(3);
469 m4 = phaseSpacePtr->m(4);
470 theta = phaseSpacePtr->thetaHat();
471 phi = phaseSpacePtr->phiHat();
476 Q2FacNow = (scale < 0.) ? sigmaProcessPtr->Q2Fac() : pow2(scale);
477 alphaEM = lhaUpPtr->alphaQED();
478 if (alphaEM < 0.001) alphaEM = sigmaProcessPtr->alphaEMRen();
479 alphaS = lhaUpPtr->alphaQCD();
480 if (alphaS < 0.001) alphaS = sigmaProcessPtr->alphaSRen();
481 Q2Ren = (scale < 0.) ? sigmaProcessPtr->Q2Ren() : pow2(scale);
482 x1Now = 2. * process[3].e() / infoPtr->eCM();
483 x2Now = 2. * process[4].e() / infoPtr->eCM();
484 Vec4 pSum = process[3].p() + process[4].p();
488 if (lhaUpPtr->pdfIsSet()) {
489 pdf1 = lhaUpPtr->xpdf1();
490 pdf2 = lhaUpPtr->xpdf2();
491 Q2FacNow = pow2(lhaUpPtr->scalePDF());
492 x1Now = lhaUpPtr->x1();
493 x2Now = lhaUpPtr->x2();
498 Vec4 pDifT = process[3].p() - process[5].p();
499 tHat = pDifT * pDifT;
500 Vec4 pDifU = process[3].p() - process[6].p();
501 uHat = pDifU * pDifU;
502 pTHatL = process[5].pT();
505 Vec4 p5 = process[5].p();
508 phi = process[5].phi();
514 infoPtr->setPDFalpha( id1Now, id2Now, pdf1, pdf2, Q2FacNow,
515 alphaEM, alphaS, Q2Ren);
516 infoPtr->setKin( x1Now, x2Now, sHat, tHat, uHat, pTHatL, m3, m4,
519 infoPtr->setTypeMPI( code(), pTHatL);
523 int codeSub = lhaUpPtr->idProcess();
524 ostringstream nameSub;
525 nameSub <<
"user process " << codeSub;
526 infoPtr->setSubType( nameSub.str(), codeSub, nFin);
538 bool ProcessContainer::decayResonances(
Event& process) {
542 bool physical =
true;
543 bool newFlavours =
false;
547 physical = resDecaysPtr->next( process);
548 if (!physical)
return false;
552 newFlavours = ( sigmaProcessPtr->weightDecayFlav( process)
557 process.restoreSize();
558 for (
int i = 5; i < process.size(); ++i) process[i].statusPos();
562 }
while (newFlavours);
565 phaseSpacePtr->decayKinematics( process);
576 void ProcessContainer::reset() {
596 void ProcessContainer::sigmaDelta() {
603 if (nAcc == 0)
return;
606 double nTryInv = 1. / nTry;
607 double nSelInv = 1. / nSel;
608 double nAccInv = 1. / nAcc;
609 sigmaAvg = sigmaSum * nTryInv;
610 double fracAcc = nAcc * nSelInv;
611 sigmaFin = sigmaAvg * fracAcc;
613 if (nAcc == 1)
return;
617 double delta2Sig = (sigma2Sum * nTryInv - pow2(sigmaAvg)) * nTryInv
619 double delta2Veto = (nSel - nAcc) * nAccInv * nSelInv;
620 double delta2Sum = delta2Sig + delta2Veto;
621 deltaFin = sqrtpos(delta2Sum) * sigmaFin;
634 bool SetupContainers::init(vector<ProcessContainer*>& containerPtrs,
635 Settings& settings, ParticleData* particleDataPtr, Couplings* couplings) {
638 if (containerPtrs.size() > 0) {
639 for (
int i = 0; i < int(containerPtrs.size()); ++i)
640 delete containerPtrs[i];
641 containerPtrs.clear();
643 SigmaProcess* sigmaPtr;
646 bool softQCD = settings.flag(
"SoftQCD:all");
647 if (softQCD || settings.flag(
"SoftQCD:minBias")) {
648 sigmaPtr =
new Sigma0minBias;
649 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
651 if (softQCD || settings.flag(
"SoftQCD:elastic")) {
652 sigmaPtr =
new Sigma0AB2AB;
653 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
655 if (softQCD || settings.flag(
"SoftQCD:singleDiffractive")) {
656 sigmaPtr =
new Sigma0AB2XB;
657 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
658 sigmaPtr =
new Sigma0AB2AX;
659 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
661 if (softQCD || settings.flag(
"SoftQCD:doubleDiffractive")) {
662 sigmaPtr =
new Sigma0AB2XX;
663 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
667 bool hardQCD = settings.flag(
"HardQCD:all");
668 if (hardQCD || settings.flag(
"HardQCD:gg2gg")) {
669 sigmaPtr =
new Sigma2gg2gg;
670 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
672 if (hardQCD || settings.flag(
"HardQCD:gg2qqbar")) {
673 sigmaPtr =
new Sigma2gg2qqbar;
674 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
676 if (hardQCD || settings.flag(
"HardQCD:qg2qg")) {
677 sigmaPtr =
new Sigma2qg2qg;
678 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
680 if (hardQCD || settings.flag(
"HardQCD:qq2qq")) {
681 sigmaPtr =
new Sigma2qq2qq;
682 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
684 if (hardQCD || settings.flag(
"HardQCD:qqbar2gg")) {
685 sigmaPtr =
new Sigma2qqbar2gg;
686 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
688 if (hardQCD || settings.flag(
"HardQCD:qqbar2qqbarNew")) {
689 sigmaPtr =
new Sigma2qqbar2qqbarNew;
690 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
694 if (hardQCD || settings.flag(
"HardQCD:gg2ccbar")) {
695 sigmaPtr =
new Sigma2gg2QQbar(4, 121);
696 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
698 if (hardQCD || settings.flag(
"HardQCD:qqbar2ccbar")) {
699 sigmaPtr =
new Sigma2qqbar2QQbar(4, 122);
700 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
702 if (hardQCD || settings.flag(
"HardQCD:gg2bbbar")) {
703 sigmaPtr =
new Sigma2gg2QQbar(5, 123);
704 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
706 if (hardQCD || settings.flag(
"HardQCD:qqbar2bbbar")) {
707 sigmaPtr =
new Sigma2qqbar2QQbar(5, 124);
708 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
712 bool hardQCD3parton = settings.flag(
"HardQCD:3parton");
713 if (hardQCD3parton || settings.flag(
"HardQCD:gg2ggg")) {
714 sigmaPtr =
new Sigma3gg2ggg;
715 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
717 if (hardQCD3parton || settings.flag(
"HardQCD:qqbar2ggg")) {
718 sigmaPtr =
new Sigma3qqbar2ggg;
719 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
721 if (hardQCD3parton || settings.flag(
"HardQCD:qg2qgg")) {
722 sigmaPtr =
new Sigma3qg2qgg;
723 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
725 if (hardQCD3parton || settings.flag(
"HardQCD:qq2qqgDiff")) {
726 sigmaPtr =
new Sigma3qq2qqgDiff;
727 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
729 if (hardQCD3parton || settings.flag(
"HardQCD:qq2qqgSame")) {
730 sigmaPtr =
new Sigma3qq2qqgSame;
731 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
733 if (hardQCD3parton || settings.flag(
"HardQCD:qqbar2qqbargDiff")) {
734 sigmaPtr =
new Sigma3qqbar2qqbargDiff;
735 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
737 if (hardQCD3parton || settings.flag(
"HardQCD:qqbar2qqbargSame")) {
738 sigmaPtr =
new Sigma3qqbar2qqbargSame;
739 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
741 if (hardQCD3parton || settings.flag(
"HardQCD:gg2qqbarg")) {
742 sigmaPtr =
new Sigma3gg2qqbarg;
743 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
745 if (hardQCD3parton || settings.flag(
"HardQCD:qg2qqqbarDiff")) {
746 sigmaPtr =
new Sigma3qg2qqqbarDiff;
747 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
749 if (hardQCD3parton || settings.flag(
"HardQCD:qg2qqqbarSame")) {
750 sigmaPtr =
new Sigma3qg2qqqbarSame;
751 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
755 bool promptPhotons = settings.flag(
"PromptPhoton:all");
757 || settings.flag(
"PromptPhoton:qg2qgamma")) {
758 sigmaPtr =
new Sigma2qg2qgamma;
759 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
762 || settings.flag(
"PromptPhoton:qqbar2ggamma")) {
763 sigmaPtr =
new Sigma2qqbar2ggamma;
764 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
767 || settings.flag(
"PromptPhoton:gg2ggamma")) {
768 sigmaPtr =
new Sigma2gg2ggamma;
769 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
772 || settings.flag(
"PromptPhoton:ffbar2gammagamma")) {
773 sigmaPtr =
new Sigma2ffbar2gammagamma;
774 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
777 || settings.flag(
"PromptPhoton:gg2gammagamma")) {
778 sigmaPtr =
new Sigma2gg2gammagamma;
779 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
783 bool weakBosonExchanges = settings.flag(
"WeakBosonExchange:all");
784 if (weakBosonExchanges
785 || settings.flag(
"WeakBosonExchange:ff2ff(t:gmZ)")) {
786 sigmaPtr =
new Sigma2ff2fftgmZ;
787 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
789 if (weakBosonExchanges
790 || settings.flag(
"WeakBosonExchange:ff2ff(t:W)")) {
791 sigmaPtr =
new Sigma2ff2fftW;
792 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
796 bool weakSingleBosons = settings.flag(
"WeakSingleBoson:all");
798 || settings.flag(
"WeakSingleBoson:ffbar2gmZ")) {
799 sigmaPtr =
new Sigma1ffbar2gmZ;
800 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
803 || settings.flag(
"WeakSingleBoson:ffbar2W")) {
804 sigmaPtr =
new Sigma1ffbar2W;
805 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
810 if (settings.flag(
"WeakSingleBoson:ffbar2ffbar(s:gm)")) {
811 sigmaPtr =
new Sigma2ffbar2ffbarsgm;
812 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
816 bool weakDoubleBosons = settings.flag(
"WeakDoubleBoson:all");
818 || settings.flag(
"WeakDoubleBoson:ffbar2gmZgmZ")) {
819 sigmaPtr =
new Sigma2ffbar2gmZgmZ;
820 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
823 || settings.flag(
"WeakDoubleBoson:ffbar2ZW")) {
824 sigmaPtr =
new Sigma2ffbar2ZW;
825 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
828 || settings.flag(
"WeakDoubleBoson:ffbar2WW")) {
829 sigmaPtr =
new Sigma2ffbar2WW;
830 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
834 bool weakBosonAndPartons = settings.flag(
"WeakBosonAndParton:all");
835 if (weakBosonAndPartons
836 || settings.flag(
"WeakBosonAndParton:qqbar2gmZg")) {
837 sigmaPtr =
new Sigma2qqbar2gmZg;
838 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
840 if (weakBosonAndPartons
841 || settings.flag(
"WeakBosonAndParton:qg2gmZq")) {
842 sigmaPtr =
new Sigma2qg2gmZq;
843 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
845 if (weakBosonAndPartons
846 || settings.flag(
"WeakBosonAndParton:ffbar2gmZgm")) {
847 sigmaPtr =
new Sigma2ffbar2gmZgm;
848 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
850 if (weakBosonAndPartons
851 || settings.flag(
"WeakBosonAndParton:fgm2gmZf")) {
852 sigmaPtr =
new Sigma2fgm2gmZf;
853 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
855 if (weakBosonAndPartons
856 || settings.flag(
"WeakBosonAndParton:qqbar2Wg")) {
857 sigmaPtr =
new Sigma2qqbar2Wg;
858 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
860 if (weakBosonAndPartons
861 || settings.flag(
"WeakBosonAndParton:qg2Wq")) {
862 sigmaPtr =
new Sigma2qg2Wq;
863 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
865 if (weakBosonAndPartons
866 || settings.flag(
"WeakBosonAndParton:ffbar2Wgm")) {
867 sigmaPtr =
new Sigma2ffbar2Wgm;
868 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
870 if (weakBosonAndPartons
871 || settings.flag(
"WeakBosonAndParton:fgm2Wf")) {
872 sigmaPtr =
new Sigma2fgm2Wf;
873 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
877 bool photonCollisions = settings.flag(
"PhotonCollision:all");
878 if (photonCollisions || settings.flag(
"PhotonCollision:gmgm2qqbar")) {
879 sigmaPtr =
new Sigma2gmgm2ffbar(1, 261);
880 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
882 if (photonCollisions || settings.flag(
"PhotonCollision:gmgm2ccbar")) {
883 sigmaPtr =
new Sigma2gmgm2ffbar(4, 262);
884 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
886 if (photonCollisions || settings.flag(
"PhotonCollision:gmgm2bbbar")) {
887 sigmaPtr =
new Sigma2gmgm2ffbar(5, 263);
888 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
890 if (photonCollisions || settings.flag(
"PhotonCollision:gmgm2ee")) {
891 sigmaPtr =
new Sigma2gmgm2ffbar(11, 264);
892 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
894 if (photonCollisions || settings.flag(
"PhotonCollision:gmgm2mumu")) {
895 sigmaPtr =
new Sigma2gmgm2ffbar(13, 265);
896 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
898 if (photonCollisions || settings.flag(
"PhotonCollision:gmgm2tautau")) {
899 sigmaPtr =
new Sigma2gmgm2ffbar(15, 266);
900 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
904 bool charmoniums = settings.flag(
"Charmonium:all");
905 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[3S1(1)]g")) {
906 sigmaPtr =
new Sigma2gg2QQbar3S11g(4, 401);
907 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
909 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[3P0(1)]g")) {
910 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(4, 0, 402);
911 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
913 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[3P1(1)]g")) {
914 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(4, 1, 403);
915 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
917 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[3P2(1)]g")) {
918 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(4, 2, 404);
919 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
921 if (charmoniums || settings.flag(
"Charmonium:qg2QQbar[3P0(1)]q")) {
922 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(4, 0, 405);
923 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
925 if (charmoniums || settings.flag(
"Charmonium:qg2QQbar[3P1(1)]q")) {
926 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(4, 1, 406);
927 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
929 if (charmoniums || settings.flag(
"Charmonium:qg2QQbar[3P2(1)]q")) {
930 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(4, 2, 407);
931 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
933 if (charmoniums || settings.flag(
"Charmonium:qqbar2QQbar[3P0(1)]g")) {
934 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(4, 0, 408);
935 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
937 if (charmoniums || settings.flag(
"Charmonium:qqbar2QQbar[3P1(1)]g")) {
938 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(4, 1, 409);
939 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
941 if (charmoniums || settings.flag(
"Charmonium:qqbar2QQbar[3P2(1)]g")) {
942 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(4, 2, 410);
943 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
945 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[3S1(8)]g")) {
946 sigmaPtr =
new Sigma2gg2QQbarX8g(4, 0, 411);
947 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
949 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[1S0(8)]g")) {
950 sigmaPtr =
new Sigma2gg2QQbarX8g(4, 1, 412);
951 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
953 if (charmoniums || settings.flag(
"Charmonium:gg2QQbar[3PJ(8)]g")) {
954 sigmaPtr =
new Sigma2gg2QQbarX8g(4, 2, 413);
955 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
957 if (charmoniums || settings.flag(
"Charmonium:qg2QQbar[3S1(8)]q")) {
958 sigmaPtr =
new Sigma2qg2QQbarX8q(4, 0, 414);
959 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
961 if (charmoniums || settings.flag(
"Charmonium:qg2QQbar[1S0(8)]q")) {
962 sigmaPtr =
new Sigma2qg2QQbarX8q(4, 1, 415);
963 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
965 if (charmoniums || settings.flag(
"Charmonium:qg2QQbar[3PJ(8)]q")) {
966 sigmaPtr =
new Sigma2qg2QQbarX8q(4, 2, 416);
967 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
969 if (charmoniums || settings.flag(
"Charmonium:qqbar2QQbar[3S1(8)]g")) {
970 sigmaPtr =
new Sigma2qqbar2QQbarX8g(4, 0, 417);
971 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
973 if (charmoniums || settings.flag(
"Charmonium:qqbar2QQbar[1S0(8)]g")) {
974 sigmaPtr =
new Sigma2qqbar2QQbarX8g(4, 1, 418);
975 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
977 if (charmoniums || settings.flag(
"Charmonium:qqbar2QQbar[3PJ(8)]g")) {
978 sigmaPtr =
new Sigma2qqbar2QQbarX8g(4, 2, 419);
979 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
983 bool bottomoniums = settings.flag(
"Bottomonium:all");
984 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[3S1(1)]g")) {
985 sigmaPtr =
new Sigma2gg2QQbar3S11g(5, 501);
986 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
988 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[3P0(1)]g")) {
989 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(5, 0, 502);
990 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
992 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[3P1(1)]g")) {
993 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(5, 1, 503);
994 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
996 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[3P2(1)]g")) {
997 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(5, 2, 504);
998 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1000 if (bottomoniums || settings.flag(
"Bottomonium:qg2QQbar[3P0(1)]q")) {
1001 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(5, 0, 505);
1002 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1004 if (bottomoniums || settings.flag(
"Bottomonium:qg2QQbar[3P1(1)]q")) {
1005 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(5, 1, 506);
1006 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1008 if (bottomoniums || settings.flag(
"Bottomonium:qg2QQbar[3P2(1)]q")) {
1009 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(5, 2, 507);
1010 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1012 if (bottomoniums || settings.flag(
"Bottomonium:qqbar2QQbar[3P0(1)]g")) {
1013 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(5, 0, 508);
1014 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1016 if (bottomoniums || settings.flag(
"Bottomonium:qqbar2QQbar[3P1(1)]g")) {
1017 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(5, 1, 509);
1018 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1020 if (bottomoniums || settings.flag(
"Bottomonium:qqbar2QQbar[3P2(1)]g")) {
1021 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(5, 2, 510);
1022 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1024 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[3S1(8)]g")) {
1025 sigmaPtr =
new Sigma2gg2QQbarX8g(5, 0, 511);
1026 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1028 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[1S0(8)]g")) {
1029 sigmaPtr =
new Sigma2gg2QQbarX8g(5, 1, 512);
1030 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1032 if (bottomoniums || settings.flag(
"Bottomonium:gg2QQbar[3PJ(8)]g")) {
1033 sigmaPtr =
new Sigma2gg2QQbarX8g(5, 2, 513);
1034 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1036 if (bottomoniums || settings.flag(
"Bottomonium:qg2QQbar[3S1(8)]q")) {
1037 sigmaPtr =
new Sigma2qg2QQbarX8q(5, 0, 514);
1038 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1040 if (bottomoniums || settings.flag(
"Bottomonium:qg2QQbar[1S0(8)]q")) {
1041 sigmaPtr =
new Sigma2qg2QQbarX8q(5, 1, 515);
1042 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1044 if (bottomoniums || settings.flag(
"Bottomonium:qg2QQbar[3PJ(8)]q")) {
1045 sigmaPtr =
new Sigma2qg2QQbarX8q(5, 2, 516);
1046 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1048 if (bottomoniums || settings.flag(
"Bottomonium:qqbar2QQbar[3S1(8)]g")) {
1049 sigmaPtr =
new Sigma2qqbar2QQbarX8g(5, 0, 517);
1050 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1052 if (bottomoniums || settings.flag(
"Bottomonium:qqbar2QQbar[1S0(8)]g")) {
1053 sigmaPtr =
new Sigma2qqbar2QQbarX8g(5, 1, 518);
1054 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1056 if (bottomoniums || settings.flag(
"Bottomonium:qqbar2QQbar[3PJ(8)]g")) {
1057 sigmaPtr =
new Sigma2qqbar2QQbarX8g(5, 2, 519);
1058 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1062 bool tops = settings.flag(
"Top:all");
1063 if (tops || settings.flag(
"Top:gg2ttbar")) {
1064 sigmaPtr =
new Sigma2gg2QQbar(6, 601);
1065 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1067 if (tops || settings.flag(
"Top:qqbar2ttbar")) {
1068 sigmaPtr =
new Sigma2qqbar2QQbar(6, 602);
1069 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1071 if (tops || settings.flag(
"Top:qq2tq(t:W)")) {
1072 sigmaPtr =
new Sigma2qq2QqtW(6, 603);
1073 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1075 if (tops || settings.flag(
"Top:ffbar2ttbar(s:gmZ)")) {
1076 sigmaPtr =
new Sigma2ffbar2FFbarsgmZ(6, 604);
1077 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1079 if (tops || settings.flag(
"Top:ffbar2tqbar(s:W)")) {
1080 sigmaPtr =
new Sigma2ffbar2FfbarsW(6, 0, 605);
1081 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1083 if (tops || settings.flag(
"Top:gmgm2ttbar")) {
1084 sigmaPtr =
new Sigma2gmgm2ffbar(6, 606);
1085 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1089 bool bPrimes = settings.flag(
"FourthBottom:all");
1090 if (bPrimes || settings.flag(
"FourthBottom:gg2bPrimebPrimebar")) {
1091 sigmaPtr =
new Sigma2gg2QQbar(7, 801);
1092 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1094 if (bPrimes || settings.flag(
"FourthBottom:qqbar2bPrimebPrimebar")) {
1095 sigmaPtr =
new Sigma2qqbar2QQbar(7, 802);
1096 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1098 if (bPrimes || settings.flag(
"FourthBottom:qq2bPrimeq(t:W)")) {
1099 sigmaPtr =
new Sigma2qq2QqtW(7, 803);
1100 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1102 if (bPrimes || settings.flag(
"FourthBottom:ffbar2bPrimebPrimebar(s:gmZ)")) {
1103 sigmaPtr =
new Sigma2ffbar2FFbarsgmZ(7, 804);
1104 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1106 if (bPrimes || settings.flag(
"FourthBottom:ffbar2bPrimeqbar(s:W)")) {
1107 sigmaPtr =
new Sigma2ffbar2FfbarsW(7, 0, 805);
1108 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1110 if (bPrimes || settings.flag(
"FourthBottom:ffbar2bPrimetbar(s:W)")) {
1111 sigmaPtr =
new Sigma2ffbar2FfbarsW(7, 6, 806);
1112 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1116 bool tPrimes = settings.flag(
"FourthTop:all");
1117 if (tPrimes || settings.flag(
"FourthTop:gg2tPrimetPrimebar")) {
1118 sigmaPtr =
new Sigma2gg2QQbar(8, 821);
1119 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1121 if (tPrimes || settings.flag(
"FourthTop:qqbar2tPrimetPrimebar")) {
1122 sigmaPtr =
new Sigma2qqbar2QQbar(8, 822);
1123 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1125 if (tPrimes || settings.flag(
"FourthTop:qq2tPrimeq(t:W)")) {
1126 sigmaPtr =
new Sigma2qq2QqtW(8, 823);
1127 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1129 if (tPrimes || settings.flag(
"FourthTop:ffbar2tPrimetPrimebar(s:gmZ)")) {
1130 sigmaPtr =
new Sigma2ffbar2FFbarsgmZ(8, 824);
1131 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1133 if (tPrimes || settings.flag(
"FourthTop:ffbar2tPrimeqbar(s:W)")) {
1134 sigmaPtr =
new Sigma2ffbar2FfbarsW(8, 0, 825);
1135 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1139 if (bPrimes || tPrimes
1140 || settings.flag(
"FourthPair:ffbar2tPrimebPrimebar(s:W)")) {
1141 sigmaPtr =
new Sigma2ffbar2FfbarsW(8, 7, 841);
1142 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1144 if (settings.flag(
"FourthPair:ffbar2tauPrimenuPrimebar(s:W)")) {
1145 sigmaPtr =
new Sigma2ffbar2FfbarsW(17, 18, 842);
1146 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1150 bool useBSMHiggses = settings.flag(
"Higgs:useBSM");
1153 if (!useBSMHiggses) {
1154 bool HiggsesSM = settings.flag(
"HiggsSM:all");
1155 if (HiggsesSM || settings.flag(
"HiggsSM:ffbar2H")) {
1156 sigmaPtr =
new Sigma1ffbar2H(0);
1157 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1159 if (HiggsesSM || settings.flag(
"HiggsSM:gg2H")) {
1160 sigmaPtr =
new Sigma1gg2H(0);
1161 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1163 if (HiggsesSM || settings.flag(
"HiggsSM:gmgm2H")) {
1164 sigmaPtr =
new Sigma1gmgm2H(0);
1165 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1167 if (HiggsesSM || settings.flag(
"HiggsSM:ffbar2HZ")) {
1168 sigmaPtr =
new Sigma2ffbar2HZ(0);
1169 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1171 if (HiggsesSM || settings.flag(
"HiggsSM:ffbar2HW")) {
1172 sigmaPtr =
new Sigma2ffbar2HW(0);
1173 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1175 if (HiggsesSM || settings.flag(
"HiggsSM:ff2Hff(t:ZZ)")) {
1176 sigmaPtr =
new Sigma3ff2HfftZZ(0);
1177 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1179 if (HiggsesSM || settings.flag(
"HiggsSM:ff2Hff(t:WW)")) {
1180 sigmaPtr =
new Sigma3ff2HfftWW(0);
1181 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1183 if (HiggsesSM || settings.flag(
"HiggsSM:gg2Httbar")) {
1184 sigmaPtr =
new Sigma3gg2HQQbar(6,0);
1185 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1187 if (HiggsesSM || settings.flag(
"HiggsSM:qqbar2Httbar")) {
1188 sigmaPtr =
new Sigma3qqbar2HQQbar(6,0);
1189 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1193 if (settings.flag(
"HiggsSM:qg2Hq")) {
1194 sigmaPtr =
new Sigma2qg2Hq(4,0);
1195 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1196 sigmaPtr =
new Sigma2qg2Hq(5,0);
1197 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1199 if (settings.flag(
"HiggsSM:gg2Hbbbar")) {
1200 sigmaPtr =
new Sigma3gg2HQQbar(5,0);
1201 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1203 if (settings.flag(
"HiggsSM:qqbar2Hbbbar")) {
1204 sigmaPtr =
new Sigma3qqbar2HQQbar(5,0);
1205 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1207 if (settings.flag(
"HiggsSM:gg2Hg(l:t)")) {
1208 sigmaPtr =
new Sigma2gg2Hglt(0);
1209 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1211 if (settings.flag(
"HiggsSM:qg2Hq(l:t)")) {
1212 sigmaPtr =
new Sigma2qg2Hqlt(0);
1213 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1215 if (settings.flag(
"HiggsSM:qqbar2Hg(l:t)")) {
1216 sigmaPtr =
new Sigma2qqbar2Hglt(0);
1217 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1222 if (useBSMHiggses) {
1223 bool HiggsesBSM = settings.flag(
"HiggsBSM:all");
1226 bool HiggsesH1 = settings.flag(
"HiggsBSM:allH1");
1227 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:ffbar2H1")) {
1228 sigmaPtr =
new Sigma1ffbar2H(1);
1229 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1231 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:gg2H1")) {
1232 sigmaPtr =
new Sigma1gg2H(1);
1233 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1235 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:gmgm2H1")) {
1236 sigmaPtr =
new Sigma1gmgm2H(1);
1237 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1239 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:ffbar2H1Z")) {
1240 sigmaPtr =
new Sigma2ffbar2HZ(1);
1241 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1243 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:ffbar2H1W")) {
1244 sigmaPtr =
new Sigma2ffbar2HW(1);
1245 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1247 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:ff2H1ff(t:ZZ)")) {
1248 sigmaPtr =
new Sigma3ff2HfftZZ(1);
1249 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1251 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:ff2H1ff(t:WW)")) {
1252 sigmaPtr =
new Sigma3ff2HfftWW(1);
1253 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1255 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:gg2H1ttbar")) {
1256 sigmaPtr =
new Sigma3gg2HQQbar(6,1);
1257 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1259 if (HiggsesBSM || HiggsesH1 || settings.flag(
"HiggsBSM:qqbar2H1ttbar")) {
1260 sigmaPtr =
new Sigma3qqbar2HQQbar(6,1);
1261 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1265 if (settings.flag(
"HiggsBSM:qg2H1q")) {
1266 sigmaPtr =
new Sigma2qg2Hq(4,1);
1267 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1268 sigmaPtr =
new Sigma2qg2Hq(5,1);
1269 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1271 if (settings.flag(
"HiggsBSM:gg2H1bbbar")) {
1272 sigmaPtr =
new Sigma3gg2HQQbar(5,1);
1273 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1275 if (settings.flag(
"HiggsBSM:qqbar2H1bbbar")) {
1276 sigmaPtr =
new Sigma3qqbar2HQQbar(5,1);
1277 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1279 if (settings.flag(
"HiggsBSM:gg2H1g(l:t)")) {
1280 sigmaPtr =
new Sigma2gg2Hglt(1);
1281 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1283 if (settings.flag(
"HiggsBSM:qg2H1q(l:t)")) {
1284 sigmaPtr =
new Sigma2qg2Hqlt(1);
1285 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1287 if (settings.flag(
"HiggsBSM:qqbar2H1g(l:t)")) {
1288 sigmaPtr =
new Sigma2qqbar2Hglt(1);
1289 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1293 bool HiggsesH2 = settings.flag(
"HiggsBSM:allH2");
1294 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:ffbar2H2")) {
1295 sigmaPtr =
new Sigma1ffbar2H(2);
1296 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1298 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:gg2H2")) {
1299 sigmaPtr =
new Sigma1gg2H(2);
1300 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1302 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:gmgm2H2")) {
1303 sigmaPtr =
new Sigma1gmgm2H(2);
1304 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1306 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:ffbar2H2Z")) {
1307 sigmaPtr =
new Sigma2ffbar2HZ(2);
1308 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1310 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:ffbar2H2W")) {
1311 sigmaPtr =
new Sigma2ffbar2HW(2);
1312 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1314 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:ff2H2ff(t:ZZ)")) {
1315 sigmaPtr =
new Sigma3ff2HfftZZ(2);
1316 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1318 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:ff2H2ff(t:WW)")) {
1319 sigmaPtr =
new Sigma3ff2HfftWW(2);
1320 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1322 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:gg2H2ttbar")) {
1323 sigmaPtr =
new Sigma3gg2HQQbar(6,2);
1324 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1326 if (HiggsesBSM || HiggsesH2 || settings.flag(
"HiggsBSM:qqbar2H2ttbar")) {
1327 sigmaPtr =
new Sigma3qqbar2HQQbar(6,2);
1328 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1332 if (settings.flag(
"HiggsBSM:qg2H2q")) {
1333 sigmaPtr =
new Sigma2qg2Hq(4,2);
1334 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1335 sigmaPtr =
new Sigma2qg2Hq(5,2);
1336 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1338 if (settings.flag(
"HiggsBSM:gg2H2bbbar")) {
1339 sigmaPtr =
new Sigma3gg2HQQbar(5,2);
1340 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1342 if (settings.flag(
"HiggsBSM:qqbar2H2bbbar")) {
1343 sigmaPtr =
new Sigma3qqbar2HQQbar(5,2);
1344 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1346 if (settings.flag(
"HiggsBSM:gg2H2g(l:t)")) {
1347 sigmaPtr =
new Sigma2gg2Hglt(2);
1348 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1350 if (settings.flag(
"HiggsBSM:qg2H2q(l:t)")) {
1351 sigmaPtr =
new Sigma2qg2Hqlt(2);
1352 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1354 if (settings.flag(
"HiggsBSM:qqbar2H2g(l:t)")) {
1355 sigmaPtr =
new Sigma2qqbar2Hglt(2);
1356 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1360 bool HiggsesA3 = settings.flag(
"HiggsBSM:allA3");
1361 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:ffbar2A3")) {
1362 sigmaPtr =
new Sigma1ffbar2H(3);
1363 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1365 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:gg2A3")) {
1366 sigmaPtr =
new Sigma1gg2H(3);
1367 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1369 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:gmgm2A3")) {
1370 sigmaPtr =
new Sigma1gmgm2H(3);
1371 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1373 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:ffbar2A3Z")) {
1374 sigmaPtr =
new Sigma2ffbar2HZ(3);
1375 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1377 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:ffbar2A3W")) {
1378 sigmaPtr =
new Sigma2ffbar2HW(3);
1379 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1381 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:ff2A3ff(t:ZZ)")) {
1382 sigmaPtr =
new Sigma3ff2HfftZZ(3);
1383 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1385 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:ff2A3ff(t:WW)")) {
1386 sigmaPtr =
new Sigma3ff2HfftWW(3);
1387 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1389 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:gg2A3ttbar")) {
1390 sigmaPtr =
new Sigma3gg2HQQbar(6,3);
1391 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1393 if (HiggsesBSM || HiggsesA3 || settings.flag(
"HiggsBSM:qqbar2A3ttbar")) {
1394 sigmaPtr =
new Sigma3qqbar2HQQbar(6,3);
1395 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1399 if (settings.flag(
"HiggsBSM:qg2A3q")) {
1400 sigmaPtr =
new Sigma2qg2Hq(4,3);
1401 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1402 sigmaPtr =
new Sigma2qg2Hq(5,3);
1403 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1405 if (settings.flag(
"HiggsBSM:gg2A3bbbar")) {
1406 sigmaPtr =
new Sigma3gg2HQQbar(5,3);
1407 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1409 if (settings.flag(
"HiggsBSM:qqbar2A3bbbar")) {
1410 sigmaPtr =
new Sigma3qqbar2HQQbar(5,3);
1411 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1413 if (settings.flag(
"HiggsBSM:gg2A3g(l:t)")) {
1414 sigmaPtr =
new Sigma2gg2Hglt(3);
1415 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1417 if (settings.flag(
"HiggsBSM:qg2A3q(l:t)")) {
1418 sigmaPtr =
new Sigma2qg2Hqlt(3);
1419 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1421 if (settings.flag(
"HiggsBSM:qqbar2A3g(l:t)")) {
1422 sigmaPtr =
new Sigma2qqbar2Hglt(3);
1423 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1427 bool HiggsesChg = settings.flag(
"HiggsBSM:allH+-");
1428 if (HiggsesBSM || HiggsesChg || settings.flag(
"HiggsBSM:ffbar2H+-")) {
1429 sigmaPtr =
new Sigma1ffbar2Hchg;
1430 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1432 if (HiggsesBSM || HiggsesChg || settings.flag(
"HiggsBSM:bg2H+-t")) {
1433 sigmaPtr =
new Sigma2qg2Hchgq(6, 1062,
"b g -> H+- t");
1434 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1438 bool HiggsesPairs = settings.flag(
"HiggsBSM:allHpair");
1439 if (HiggsesBSM || HiggsesPairs || settings.flag(
"HiggsBSM:ffbar2A3H1")) {
1440 sigmaPtr =
new Sigma2ffbar2A3H12(1);
1441 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1443 if (HiggsesBSM || HiggsesPairs || settings.flag(
"HiggsBSM:ffbar2A3H2")) {
1444 sigmaPtr =
new Sigma2ffbar2A3H12(2);
1445 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1447 if (HiggsesBSM || HiggsesPairs || settings.flag(
"HiggsBSM:ffbar2H+-H1")) {
1448 sigmaPtr =
new Sigma2ffbar2HchgH12(1);
1449 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1451 if (HiggsesBSM || HiggsesPairs || settings.flag(
"HiggsBSM:ffbar2H+-H2")) {
1452 sigmaPtr =
new Sigma2ffbar2HchgH12(2);
1453 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1455 if (HiggsesBSM || HiggsesPairs || settings.flag(
"HiggsBSM:ffbar2H+H-")) {
1456 sigmaPtr =
new Sigma2ffbar2HposHneg();
1457 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1462 if(couplings->isSUSY){
1463 CoupSUSY* coupSUSY = (CoupSUSY *) couplings;
1465 bool SUSYs = settings.flag(
"SUSY:all");
1466 bool nmssm = settings.flag(
"SLHA:NMSSM");
1469 int codeA = max( abs(settings.mode(
"SUSY:idA")),
1470 abs(settings.mode(
"SUSY:idB")));
1471 int codeB = min( abs(settings.mode(
"SUSY:idA")),
1472 abs(settings.mode(
"SUSY:idB")));
1476 if (nmssm) nNeut = 5;
1479 if (SUSYs || settings.flag(
"SUSY:gg2gluinogluino")) {
1481 if (codeA == 0 || codeA == 1000021) {
1482 if (codeB == 0 || codeB == 1000021 ) {
1483 sigmaPtr =
new Sigma2gg2gluinogluino();
1484 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1488 if (SUSYs || settings.flag(
"SUSY:qqbar2gluinogluino")) {
1490 if (codeA == 0 || codeA == 1000021) {
1491 if (codeB == 0 || codeB == 1000021 ) {
1492 sigmaPtr =
new Sigma2qqbar2gluinogluino();
1493 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1499 if (SUSYs || settings.flag(
"SUSY:qg2squarkgluino")) {
1501 for (
int idx = 1; idx <= 6; ++idx) {
1502 for (
int iso = 1; iso <= 2; ++iso) {
1504 int id3 = iso + ((idx <= 3)
1505 ? 1000000+2*(idx-1) : 2000000+2*(idx-4));
1508 if (codeA != 0 && codeA != abs(id3) && codeA != abs(id4))
continue;
1509 if (codeB != 0 && ( codeA != max(abs(id3),abs(id4))
1510 || codeB != min(abs(id3),abs(id4)) ) )
continue;
1511 sigmaPtr =
new Sigma2qg2squarkgluino(id3,iproc);
1512 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1518 if (SUSYs || settings.flag(
"SUSY:gg2squarkantisquark")) {
1520 for (
int idx = 1; idx <= 6; ++idx) {
1521 for (
int iso = 1; iso <= 2; ++iso) {
1523 int id = iso + ((idx <= 3)
1524 ? 1000000+2*(idx-1) : 2000000+2*(idx-4));
1526 if (codeA != 0 && codeA != abs(
id))
continue;
1527 if (codeA != 0 && codeB != 0 && codeB != abs(
id))
continue;
1528 sigmaPtr =
new Sigma2gg2squarkantisquark(
id,iproc);
1529 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1535 if (SUSYs || settings.flag(
"SUSY:qqbar2squarkantisquark")) {
1537 for (
int idx = 1; idx <= 6; ++idx) {
1538 for (
int iso = 1; iso <= 2; ++iso) {
1539 for (
int jso = iso; jso >= 1; --jso) {
1540 for (
int jdx = 1; jdx <= 6; ++jdx) {
1541 if (iso == jso && jdx < idx)
continue;
1542 int id1 = iso + ((idx <= 3) ? 1000000+2*(idx-1)
1543 : 2000000+2*(idx-4));
1544 int id2 = jso + ((jdx <= 3) ? 1000000+2*(jdx-1)
1545 : 2000000+2*(jdx-4));
1549 if (iso == jso && id1 != id2) iproc++;
1551 if (codeA != 0 && codeA != abs(id1)
1552 && codeA != abs(id2))
continue;
1553 if (codeB != 0 && ( codeA != max(abs(id1),abs(id2))
1554 || codeB != min(abs(id1),abs(id2)) ) )
continue;
1555 if (iso == jso && id1 != id2) {
1556 sigmaPtr =
new Sigma2qqbar2squarkantisquark(id1,-id2,iproc-1);
1557 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1558 sigmaPtr =
new Sigma2qqbar2squarkantisquark(id2,-id1,iproc);
1559 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1561 sigmaPtr =
new Sigma2qqbar2squarkantisquark(id1,-id2,iproc);
1562 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1571 if (SUSYs || settings.flag(
"SUSY:qq2squarksquark")) {
1573 for (
int idx = 1; idx <= 6; ++idx) {
1574 for (
int iso = 1; iso <= 2; ++iso) {
1575 for (
int jso = iso; jso >= 1; jso--) {
1576 for (
int jdx = 1; jdx <= 6; ++jdx) {
1577 if (iso == jso && jdx < idx)
continue;
1579 int id1 = iso + ((idx <= 3)
1580 ? 1000000+2*(idx-1) : 2000000+2*(idx-4));
1581 int id2 = jso + ((jdx <= 3)
1582 ? 1000000+2*(jdx-1) : 2000000+2*(jdx-4));
1584 if (codeA != 0 && codeA != abs(id1) && codeA != abs(id2))
1586 if (codeB != 0 && ( codeA != max(abs(id1),abs(id2))
1587 || codeB != min(abs(id1),abs(id2)) ) )
continue;
1588 sigmaPtr =
new Sigma2qq2squarksquark(id1,id2,iproc);
1589 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1597 if (SUSYs || settings.flag(
"SUSY:qg2chi0squark")) {
1599 for (
int iNeut= 1; iNeut <= nNeut; iNeut++) {
1600 for (
int idx = 1; idx <= 6; idx++) {
1602 for (
int iso = 1; iso <= 2; iso++) {
1603 if (iso == 2) isUp =
true;
1605 int id3 = coupSUSY->idNeut(iNeut);
1606 int id4 = iso + ((idx <= 3)
1607 ? 1000000+2*(idx-1) : 2000000+2*(idx-4));
1609 if (codeA != 0 && codeA != abs(id3) && codeA != abs(id4))
continue;
1610 if (codeB != 0 && codeB != min(abs(id3),abs(id4)) )
continue;
1611 if (codeA != 0 && codeA == codeB)
continue;
1612 sigmaPtr =
new Sigma2qg2chi0squark(iNeut,idx,isUp,iproc);
1613 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1620 if (SUSYs || settings.flag(
"SUSY:qg2chi+-squark")) {
1622 for (
int iChar = 1; iChar <= 2; iChar++) {
1623 for (
int idx = 1; idx <= 6; idx++) {
1625 for (
int iso = 1; iso <= 2; iso++) {
1626 if (iso == 2) isUp =
true;
1628 int id3 = coupSUSY->idChar(iChar);
1629 int id4 = iso + ((idx <= 3)
1630 ? 1000000+2*(idx-1) : 2000000+2*(idx-4));
1632 if (codeA != 0 && codeA != abs(id3) && codeA != abs(id4))
continue;
1633 if (codeB != 0 && codeB != min(abs(id3),abs(id4)) )
continue;
1634 if (codeA != 0 && codeA == codeB)
continue;
1635 sigmaPtr =
new Sigma2qg2charsquark(iChar,idx,isUp,iproc);
1636 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1643 if (SUSYs || settings.flag(
"SUSY:qqbar2chi0chi0")) {
1645 for (
int iNeut2 = 1; iNeut2 <= nNeut; iNeut2++) {
1646 for (
int iNeut1 = 1; iNeut1 <= iNeut2; iNeut1++) {
1648 if (codeA != 0 && codeA != abs(coupSUSY->idNeut(iNeut1)) &&
1649 codeA != abs(coupSUSY->idNeut(iNeut2)))
continue;
1650 if (codeB != 0 && (codeA != max(abs(coupSUSY->idNeut(iNeut1)),
1651 abs(coupSUSY->idNeut(iNeut2)))
1652 || codeB != min(abs(coupSUSY->idNeut(iNeut1)),
1653 abs(coupSUSY->idNeut(iNeut2)))) )
continue;
1654 sigmaPtr =
new Sigma2qqbar2chi0chi0(iNeut1, iNeut2,iproc);
1655 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1661 if (SUSYs || settings.flag(
"SUSY:qqbar2chi+-chi0")) {
1663 for (
int iNeut = 1; iNeut <= nNeut; iNeut++) {
1664 for (
int iChar = 1; iChar <= 2; ++iChar) {
1666 if (codeA != 0 && codeA != coupSUSY->idNeut(iNeut)
1667 && codeA != coupSUSY->idChar(iChar))
continue;
1669 && ( codeA != max(coupSUSY->idNeut(iNeut),coupSUSY->idChar(iChar))
1670 || codeB != min(coupSUSY->idNeut(iNeut),coupSUSY->idChar(iChar))
1672 sigmaPtr =
new Sigma2qqbar2charchi0( iChar, iNeut, iproc-1);
1673 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1674 sigmaPtr =
new Sigma2qqbar2charchi0(-iChar, iNeut, iproc);
1675 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1681 if (SUSYs || settings.flag(
"SUSY:qqbar2chi+chi-")) {
1683 for (
int i = 1; i <= 2; ++i) {
1684 for (
int j = 1; j <= 2; ++j) {
1686 if (codeA != 0 && codeA != abs(coupSUSY->idChar(i))
1687 && codeA != abs(coupSUSY->idChar(j)))
continue;
1689 && ( codeA != max(coupSUSY->idChar(i),coupSUSY->idChar(j))
1690 || codeB != min(coupSUSY->idChar(i),coupSUSY->idChar(j)) ) )
1692 sigmaPtr =
new Sigma2qqbar2charchar( i,-j, iproc);
1693 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1699 if(SUSYs || settings.flag(
"SUSY:qq2antisquark")) {
1700 for (
int idx = 1; idx <= 6; ++idx) {
1701 for (
int iso = 1; iso <= 2; ++iso) {
1702 int id1 = iso + ((idx <= 3) ? 1000000+2*(idx-1) : 2000000+2*(idx-4));
1703 if(codeA !=0 && codeA != abs(id1))
continue;
1704 sigmaPtr =
new Sigma1qq2antisquark(id1);
1705 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1713 if (settings.flag(
"NewGaugeBoson:ffbar2gmZZprime")) {
1714 sigmaPtr =
new Sigma1ffbar2gmZZprime();
1715 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1717 if (settings.flag(
"NewGaugeBoson:ffbar2Wprime")) {
1718 sigmaPtr =
new Sigma1ffbar2Wprime();
1719 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1721 if (settings.flag(
"NewGaugeBoson:ffbar2R0")) {
1722 sigmaPtr =
new Sigma1ffbar2Rhorizontal();
1723 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1727 bool leftrights = settings.flag(
"LeftRightSymmmetry:all");
1728 if (leftrights || settings.flag(
"LeftRightSymmmetry:ffbar2ZR")) {
1729 sigmaPtr =
new Sigma1ffbar2ZRight();
1730 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1732 if (leftrights || settings.flag(
"LeftRightSymmmetry:ffbar2WR")) {
1733 sigmaPtr =
new Sigma1ffbar2WRight();
1734 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1736 if (leftrights || settings.flag(
"LeftRightSymmmetry:ll2HL")) {
1737 sigmaPtr =
new Sigma1ll2Hchgchg(1);
1738 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1740 if (leftrights || settings.flag(
"LeftRightSymmmetry:lgm2HLe")) {
1741 sigmaPtr =
new Sigma2lgm2Hchgchgl(1, 11);
1742 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1744 if (leftrights || settings.flag(
"LeftRightSymmmetry:lgm2HLmu")) {
1745 sigmaPtr =
new Sigma2lgm2Hchgchgl(1, 13);
1746 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1748 if (leftrights || settings.flag(
"LeftRightSymmmetry:lgm2HLtau")) {
1749 sigmaPtr =
new Sigma2lgm2Hchgchgl(1, 15);
1750 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1752 if (leftrights || settings.flag(
"LeftRightSymmmetry:ff2HLff")) {
1753 sigmaPtr =
new Sigma3ff2HchgchgfftWW(1);
1754 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1756 if (leftrights || settings.flag(
"LeftRightSymmmetry:ffbar2HLHL")) {
1757 sigmaPtr =
new Sigma2ffbar2HchgchgHchgchg(1);
1758 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1760 if (leftrights || settings.flag(
"LeftRightSymmmetry:ll2HR")) {
1761 sigmaPtr =
new Sigma1ll2Hchgchg(2);
1762 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1764 if (leftrights || settings.flag(
"LeftRightSymmmetry:lgm2HRe")) {
1765 sigmaPtr =
new Sigma2lgm2Hchgchgl(2, 11);
1766 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1768 if (leftrights || settings.flag(
"LeftRightSymmmetry:lgm2HRmu")) {
1769 sigmaPtr =
new Sigma2lgm2Hchgchgl(2, 13);
1770 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1772 if (leftrights || settings.flag(
"LeftRightSymmmetry:lgm2HRtau")) {
1773 sigmaPtr =
new Sigma2lgm2Hchgchgl(2, 15);
1774 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1776 if (leftrights || settings.flag(
"LeftRightSymmmetry:ff2HRff")) {
1777 sigmaPtr =
new Sigma3ff2HchgchgfftWW(2);
1778 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1780 if (leftrights || settings.flag(
"LeftRightSymmmetry:ffbar2HRHR")) {
1781 sigmaPtr =
new Sigma2ffbar2HchgchgHchgchg(2);
1782 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1786 bool leptoquarks = settings.flag(
"LeptoQuark:all");
1787 if (leptoquarks || settings.flag(
"LeptoQuark:ql2LQ")) {
1788 sigmaPtr =
new Sigma1ql2LeptoQuark;
1789 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1791 if (leptoquarks || settings.flag(
"LeptoQuark:qg2LQl")) {
1792 sigmaPtr =
new Sigma2qg2LeptoQuarkl;
1793 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1795 if (leptoquarks || settings.flag(
"LeptoQuark:gg2LQLQbar")) {
1796 sigmaPtr =
new Sigma2gg2LQLQbar;
1797 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1799 if (leptoquarks || settings.flag(
"LeptoQuark:qqbar2LQLQbar")) {
1800 sigmaPtr =
new Sigma2qqbar2LQLQbar;
1801 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1805 bool excitedfermions = settings.flag(
"ExcitedFermion:all");
1806 if (excitedfermions || settings.flag(
"ExcitedFermion:dg2dStar")) {
1807 sigmaPtr =
new Sigma1qg2qStar(1);
1808 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1810 if (excitedfermions || settings.flag(
"ExcitedFermion:ug2uStar")) {
1811 sigmaPtr =
new Sigma1qg2qStar(2);
1812 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1814 if (excitedfermions || settings.flag(
"ExcitedFermion:sg2sStar")) {
1815 sigmaPtr =
new Sigma1qg2qStar(3);
1816 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1818 if (excitedfermions || settings.flag(
"ExcitedFermion:cg2cStar")) {
1819 sigmaPtr =
new Sigma1qg2qStar(4);
1820 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1822 if (excitedfermions || settings.flag(
"ExcitedFermion:bg2bStar")) {
1823 sigmaPtr =
new Sigma1qg2qStar(5);
1824 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1826 if (excitedfermions || settings.flag(
"ExcitedFermion:egm2eStar")) {
1827 sigmaPtr =
new Sigma1lgm2lStar(11);
1828 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1830 if (excitedfermions || settings.flag(
"ExcitedFermion:mugm2muStar")) {
1831 sigmaPtr =
new Sigma1lgm2lStar(13);
1832 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1834 if (excitedfermions || settings.flag(
"ExcitedFermion:taugm2tauStar")) {
1835 sigmaPtr =
new Sigma1lgm2lStar(15);
1836 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1838 if (excitedfermions || settings.flag(
"ExcitedFermion:qq2dStarq")) {
1839 sigmaPtr =
new Sigma2qq2qStarq(1);
1840 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1842 if (excitedfermions || settings.flag(
"ExcitedFermion:qq2uStarq")) {
1843 sigmaPtr =
new Sigma2qq2qStarq(2);
1844 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1846 if (excitedfermions || settings.flag(
"ExcitedFermion:qq2sStarq")) {
1847 sigmaPtr =
new Sigma2qq2qStarq(3);
1848 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1850 if (excitedfermions || settings.flag(
"ExcitedFermion:qq2cStarq")) {
1851 sigmaPtr =
new Sigma2qq2qStarq(4);
1852 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1854 if (excitedfermions || settings.flag(
"ExcitedFermion:qq2bStarq")) {
1855 sigmaPtr =
new Sigma2qq2qStarq(5);
1856 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1858 if (excitedfermions || settings.flag(
"ExcitedFermion:qqbar2eStare")) {
1859 sigmaPtr =
new Sigma2qqbar2lStarlbar(11);
1860 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1862 if (excitedfermions || settings.flag(
"ExcitedFermion:qqbar2nueStarnue")) {
1863 sigmaPtr =
new Sigma2qqbar2lStarlbar(12);
1864 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1866 if (excitedfermions || settings.flag(
"ExcitedFermion:qqbar2muStarmu")) {
1867 sigmaPtr =
new Sigma2qqbar2lStarlbar(13);
1868 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1870 if (excitedfermions || settings.flag(
"ExcitedFermion:qqbar2numuStarnumu")) {
1871 sigmaPtr =
new Sigma2qqbar2lStarlbar(14);
1872 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1874 if (excitedfermions || settings.flag(
"ExcitedFermion:qqbar2tauStartau")) {
1875 sigmaPtr =
new Sigma2qqbar2lStarlbar(15);
1876 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1879 || settings.flag(
"ExcitedFermion:qqbar2nutauStarnutau")) {
1880 sigmaPtr =
new Sigma2qqbar2lStarlbar(16);
1881 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1885 if (settings.flag(
"ContactInteractions:QCqq2qq")) {
1886 sigmaPtr =
new Sigma2QCqq2qq();
1887 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1889 if (settings.flag(
"ContactInteractions:QCqqbar2qqbar")) {
1890 sigmaPtr =
new Sigma2QCqqbar2qqbar();
1891 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1893 if (settings.flag(
"ContactInteractions:QCffbar2eebar")) {
1894 sigmaPtr =
new Sigma2QCffbar2llbar(11, 4003);
1895 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1897 if (settings.flag(
"ContactInteractions:QCffbar2mumubar")) {
1898 sigmaPtr =
new Sigma2QCffbar2llbar(13, 4004);
1899 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1901 if (settings.flag(
"ContactInteractions:QCffbar2tautaubar")) {
1902 sigmaPtr =
new Sigma2QCffbar2llbar(15, 4005);
1903 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1907 int spinFv = settings.mode(
"HiddenValley:spinFv");
1908 for (
int i = 1; i < 7; ++i) {
1909 if (particleDataPtr->spinType( 4900000 + i) != spinFv + 1)
1910 particleDataPtr->spinType( 4900000 + i, spinFv + 1);
1911 if (particleDataPtr->spinType( 4900010 + i) != spinFv + 1)
1912 particleDataPtr->spinType( 4900010 + i, spinFv + 1);
1915 if (particleDataPtr->spinType( 4900101) != 2)
1916 particleDataPtr->spinType( 4900101, 2);
1918 int spinqv = settings.mode(
"HiddenValley:spinqv");
1919 if (particleDataPtr->spinType( 4900101) != 2 * spinqv + 1)
1920 particleDataPtr->spinType( 4900101, 2 * spinqv + 1);
1924 bool hiddenvalleys = settings.flag(
"HiddenValley:all");
1925 if (hiddenvalleys || settings.flag(
"HiddenValley:gg2DvDvbar")) {
1926 sigmaPtr =
new Sigma2gg2qGqGbar( 4900001, 4901, spinFv,
1928 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1930 if (hiddenvalleys || settings.flag(
"HiddenValley:gg2UvUvbar")) {
1931 sigmaPtr =
new Sigma2gg2qGqGbar( 4900002, 4902, spinFv,
1933 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1935 if (hiddenvalleys || settings.flag(
"HiddenValley:gg2SvSvbar")) {
1936 sigmaPtr =
new Sigma2gg2qGqGbar( 4900003, 4903, spinFv,
1938 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1940 if (hiddenvalleys || settings.flag(
"HiddenValley:gg2CvCvbar")) {
1941 sigmaPtr =
new Sigma2gg2qGqGbar( 4900004, 4904, spinFv,
1943 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1945 if (hiddenvalleys || settings.flag(
"HiddenValley:gg2BvBvbar")) {
1946 sigmaPtr =
new Sigma2gg2qGqGbar( 4900005, 4905, spinFv,
1948 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1950 if (hiddenvalleys || settings.flag(
"HiddenValley:gg2TvTvbar")) {
1951 sigmaPtr =
new Sigma2gg2qGqGbar( 4900006, 4906, spinFv,
1953 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1955 if (hiddenvalleys || settings.flag(
"HiddenValley:qqbar2DvDvbar")) {
1956 sigmaPtr =
new Sigma2qqbar2qGqGbar( 4900001, 4911, spinFv,
1957 "q qbar -> Dv Dvbar");
1958 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1960 if (hiddenvalleys || settings.flag(
"HiddenValley:qqbar2UvUvbar")) {
1961 sigmaPtr =
new Sigma2qqbar2qGqGbar( 4900002, 4912, spinFv,
1962 "q qbar -> Uv Uvbar");
1963 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1965 if (hiddenvalleys || settings.flag(
"HiddenValley:qqbar2SvSvbar")) {
1966 sigmaPtr =
new Sigma2qqbar2qGqGbar( 4900003, 4913, spinFv,
1967 "q qbar -> Sv Svbar");
1968 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1970 if (hiddenvalleys || settings.flag(
"HiddenValley:qqbar2CvCvbar")) {
1971 sigmaPtr =
new Sigma2qqbar2qGqGbar( 4900004, 4914, spinFv,
1972 "q qbar -> Cv Cvbar");
1973 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1975 if (hiddenvalleys || settings.flag(
"HiddenValley:qqbar2BvBvbar")) {
1976 sigmaPtr =
new Sigma2qqbar2qGqGbar( 4900005, 4915, spinFv,
1977 "q qbar -> Bv Bvbar");
1978 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1980 if (hiddenvalleys || settings.flag(
"HiddenValley:qqbar2TvTvbar")) {
1981 sigmaPtr =
new Sigma2qqbar2qGqGbar( 4900006, 4916, spinFv,
1982 "q qbar -> Tv Tvbar");
1983 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1985 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2DvDvbar")) {
1986 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900001, 4921, spinFv,
1987 "f fbar -> Dv Dvbar");
1988 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1990 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2UvUvbar")) {
1991 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900002, 4922, spinFv,
1992 "f fbar -> Uv Uvbar");
1993 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
1995 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2SvSvbar")) {
1996 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900003, 4923, spinFv,
1997 "f fbar -> Sv Svbar");
1998 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2000 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2CvCvbar")) {
2001 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900004, 4924, spinFv,
2002 "f fbar -> Cv Cvbar");
2003 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2005 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2BvBvbar")) {
2006 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900005, 4925, spinFv,
2007 "f fbar -> Bv Bvbar");
2008 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2010 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2TvTvbar")) {
2011 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900006, 4926, spinFv,
2012 "f fbar -> Tv Tvbar");
2013 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2015 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2EvEvbar")) {
2016 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900011, 4931, spinFv,
2017 "f fbar -> Ev Evbar");
2018 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2020 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2nuEvnuEvbar")) {
2021 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900012, 4932, spinFv,
2022 "f fbar -> nuEv nuEvbar");
2023 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2025 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2MUvMUvbar")) {
2026 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900013, 4933, spinFv,
2027 "f fbar -> MUv MUvbar");
2028 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2030 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2nuMUvnuMUvbar")) {
2031 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900014, 4934, spinFv,
2032 "f fbar -> nuMUv nuMUvbar");
2033 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2035 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2TAUvTAUvbar")) {
2036 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900015, 4935, spinFv,
2037 "f fbar -> TAUv TAUvbar");
2038 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2040 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2nuTAUvnuTAUvbar")) {
2041 sigmaPtr =
new Sigma2ffbar2fGfGbar( 4900016, 4936, spinFv,
2042 "f fbar -> nuTAUv nuTAUvbar");
2043 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2045 if (hiddenvalleys || settings.flag(
"HiddenValley:ffbar2Zv")) {
2046 sigmaPtr =
new Sigma1ffbar2Zv();
2047 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2051 bool extraDimGstars = settings.flag(
"ExtraDimensionsG*:all");
2052 if (extraDimGstars || settings.flag(
"ExtraDimensionsG*:gg2G*")) {
2053 sigmaPtr =
new Sigma1gg2GravitonStar;
2054 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2056 if (extraDimGstars || settings.flag(
"ExtraDimensionsG*:ffbar2G*")) {
2057 sigmaPtr =
new Sigma1ffbar2GravitonStar;
2058 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2060 if (settings.flag(
"ExtraDimensionsG*:gg2G*g")) {
2061 sigmaPtr =
new Sigma2gg2GravitonStarg;
2062 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2064 if (settings.flag(
"ExtraDimensionsG*:qg2G*q")) {
2065 sigmaPtr =
new Sigma2qg2GravitonStarq;
2066 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2068 if (settings.flag(
"ExtraDimensionsG*:qqbar2G*g")) {
2069 sigmaPtr =
new Sigma2qqbar2GravitonStarg;
2070 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2074 if (settings.flag(
"ExtraDimensionsG*:qqbar2KKgluon*")) {
2075 sigmaPtr =
new Sigma1qqbar2KKgluonStar;
2076 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2080 if (settings.flag(
"ExtraDimensionsTEV:ffbar2ddbar")) {
2081 sigmaPtr =
new Sigma2ffbar2TEVffbar(1, 5061);
2082 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2084 if (settings.flag(
"ExtraDimensionsTEV:ffbar2uubar")) {
2085 sigmaPtr =
new Sigma2ffbar2TEVffbar(2, 5062);
2086 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2088 if (settings.flag(
"ExtraDimensionsTEV:ffbar2ssbar")) {
2089 sigmaPtr =
new Sigma2ffbar2TEVffbar(3, 5063);
2090 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2092 if (settings.flag(
"ExtraDimensionsTEV:ffbar2ccbar")) {
2093 sigmaPtr =
new Sigma2ffbar2TEVffbar(4, 5064);
2094 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2096 if (settings.flag(
"ExtraDimensionsTEV:ffbar2bbbar")) {
2097 sigmaPtr =
new Sigma2ffbar2TEVffbar(5, 5065);
2098 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2100 if (settings.flag(
"ExtraDimensionsTEV:ffbar2ttbar")) {
2101 sigmaPtr =
new Sigma2ffbar2TEVffbar(6, 5066);
2102 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2104 if (settings.flag(
"ExtraDimensionsTEV:ffbar2e+e-")) {
2105 sigmaPtr =
new Sigma2ffbar2TEVffbar(11, 5071);
2106 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2108 if (settings.flag(
"ExtraDimensionsTEV:ffbar2nuenuebar")) {
2109 sigmaPtr =
new Sigma2ffbar2TEVffbar(12, 5072);
2110 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2112 if (settings.flag(
"ExtraDimensionsTEV:ffbar2mu+mu-")) {
2113 sigmaPtr =
new Sigma2ffbar2TEVffbar(13, 5073);
2114 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2116 if (settings.flag(
"ExtraDimensionsTEV:ffbar2numunumubar")) {
2117 sigmaPtr =
new Sigma2ffbar2TEVffbar(14, 5074);
2118 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2120 if (settings.flag(
"ExtraDimensionsTEV:ffbar2tau+tau-")) {
2121 sigmaPtr =
new Sigma2ffbar2TEVffbar(15, 5075);
2122 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2124 if (settings.flag(
"ExtraDimensionsTEV:ffbar2nutaunutaubar")) {
2125 sigmaPtr =
new Sigma2ffbar2TEVffbar(16, 5076);
2126 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2130 bool extraDimLEDmono = settings.flag(
"ExtraDimensionsLED:monojet");
2131 if (extraDimLEDmono || settings.flag(
"ExtraDimensionsLED:gg2Gg")) {
2132 sigmaPtr =
new Sigma2gg2LEDUnparticleg(
true );
2133 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2135 if (extraDimLEDmono || settings.flag(
"ExtraDimensionsLED:qg2Gq")) {
2136 sigmaPtr =
new Sigma2qg2LEDUnparticleq(
true );
2137 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2139 if (extraDimLEDmono || settings.flag(
"ExtraDimensionsLED:qqbar2Gg")) {
2140 sigmaPtr =
new Sigma2qqbar2LEDUnparticleg(
true );
2141 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2143 if (settings.flag(
"ExtraDimensionsLED:ffbar2GZ")) {
2144 sigmaPtr =
new Sigma2ffbar2LEDUnparticleZ(
true );
2145 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2147 if (settings.flag(
"ExtraDimensionsLED:ffbar2Ggamma")) {
2148 sigmaPtr =
new Sigma2ffbar2LEDUnparticlegamma(
true );
2149 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2151 if (settings.flag(
"ExtraDimensionsLED:ffbar2gammagamma")) {
2152 sigmaPtr =
new Sigma2ffbar2LEDgammagamma(
true );
2153 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2155 if (settings.flag(
"ExtraDimensionsLED:gg2gammagamma")) {
2156 sigmaPtr =
new Sigma2gg2LEDgammagamma(
true );
2157 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2159 if (settings.flag(
"ExtraDimensionsLED:ffbar2llbar")) {
2160 sigmaPtr =
new Sigma2ffbar2LEDllbar(
true );
2161 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2163 if (settings.flag(
"ExtraDimensionsLED:gg2llbar")) {
2164 sigmaPtr =
new Sigma2gg2LEDllbar(
true );
2165 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2167 bool extraDimLEDdij = settings.flag(
"ExtraDimensionsLED:dijets");
2168 if (extraDimLEDdij || settings.flag(
"ExtraDimensionsLED:gg2DJgg")) {
2169 sigmaPtr =
new Sigma2gg2LEDgg;
2170 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2172 if (extraDimLEDdij || settings.flag(
"ExtraDimensionsLED:gg2DJqqbar")) {
2173 sigmaPtr =
new Sigma2gg2LEDqqbar;
2174 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2176 if (extraDimLEDdij || settings.flag(
"ExtraDimensionsLED:qg2DJqg")) {
2177 sigmaPtr =
new Sigma2qg2LEDqg;
2178 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2180 if (extraDimLEDdij || settings.flag(
"ExtraDimensionsLED:qq2DJqq")) {
2181 sigmaPtr =
new Sigma2qq2LEDqq;
2182 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2184 if (extraDimLEDdij || settings.flag(
"ExtraDimensionsLED:qqbar2DJgg")) {
2185 sigmaPtr =
new Sigma2qqbar2LEDgg;
2186 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2188 if (extraDimLEDdij || settings.flag(
"ExtraDimensionsLED:qqbar2DJqqbarNew")) {
2189 sigmaPtr =
new Sigma2qqbar2LEDqqbarNew;
2190 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2194 bool extraDimUnpartmono = settings.flag(
"ExtraDimensionsUnpart:monojet");
2195 if (extraDimUnpartmono || settings.flag(
"ExtraDimensionsUnpart:gg2Ug")) {
2196 sigmaPtr =
new Sigma2gg2LEDUnparticleg(
false );
2197 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2199 if (extraDimUnpartmono || settings.flag(
"ExtraDimensionsUnpart:qg2Uq")) {
2200 sigmaPtr =
new Sigma2qg2LEDUnparticleq(
false );
2201 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2203 if (extraDimUnpartmono || settings.flag(
"ExtraDimensionsUnpart:qqbar2Ug")) {
2204 sigmaPtr =
new Sigma2qqbar2LEDUnparticleg(
false );
2205 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2207 if (settings.flag(
"ExtraDimensionsUnpart:ffbar2UZ")) {
2208 sigmaPtr =
new Sigma2ffbar2LEDUnparticleZ(
false );
2209 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2211 if (settings.flag(
"ExtraDimensionsUnpart:ffbar2Ugamma")) {
2212 sigmaPtr =
new Sigma2ffbar2LEDUnparticlegamma(
false );
2213 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2215 if (settings.flag(
"ExtraDimensionsUnpart:ffbar2gammagamma")) {
2216 sigmaPtr =
new Sigma2ffbar2LEDgammagamma(
false );
2217 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2219 if (settings.flag(
"ExtraDimensionsUnpart:gg2gammagamma")) {
2220 sigmaPtr =
new Sigma2gg2LEDgammagamma(
false );
2221 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2223 if (settings.flag(
"ExtraDimensionsUnpart:ffbar2llbar")) {
2224 sigmaPtr =
new Sigma2ffbar2LEDllbar(
false );
2225 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2227 if (settings.flag(
"ExtraDimensionsUnpart:gg2llbar")) {
2228 sigmaPtr =
new Sigma2gg2LEDllbar(
false );
2229 containerPtrs.push_back(
new ProcessContainer(sigmaPtr) );
2241 bool SetupContainers::init2(vector<ProcessContainer*>& container2Ptrs,
2242 Settings& settings) {
2245 if (container2Ptrs.size() > 0) {
2246 for (
int i = 0; i < int(container2Ptrs.size()); ++i)
2247 delete container2Ptrs[i];
2248 container2Ptrs.clear();
2250 SigmaProcess* sigmaPtr;
2253 if (settings.flag(
"SecondHard:TwoJets")) {
2254 sigmaPtr =
new Sigma2gg2gg;
2255 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2256 sigmaPtr =
new Sigma2gg2qqbar;
2257 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2258 sigmaPtr =
new Sigma2qg2qg;
2259 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2260 sigmaPtr =
new Sigma2qq2qq;
2261 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2262 sigmaPtr =
new Sigma2qqbar2gg;
2263 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2264 sigmaPtr =
new Sigma2qqbar2qqbarNew;
2265 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2266 sigmaPtr =
new Sigma2gg2QQbar(4, 121);
2267 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2268 sigmaPtr =
new Sigma2qqbar2QQbar(4, 122);
2269 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2270 sigmaPtr =
new Sigma2gg2QQbar(5, 123);
2271 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2272 sigmaPtr =
new Sigma2qqbar2QQbar(5, 124);
2273 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2277 if (settings.flag(
"SecondHard:PhotonAndJet")) {
2278 sigmaPtr =
new Sigma2qg2qgamma;
2279 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2280 sigmaPtr =
new Sigma2qqbar2ggamma;
2281 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2282 sigmaPtr =
new Sigma2gg2ggamma;
2283 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2287 if (settings.flag(
"SecondHard:TwoPhotons")) {
2288 sigmaPtr =
new Sigma2ffbar2gammagamma;
2289 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2290 sigmaPtr =
new Sigma2gg2gammagamma;
2291 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2295 if (settings.flag(
"SecondHard:Charmonium")) {
2296 sigmaPtr =
new Sigma2gg2QQbar3S11g(4, 401);
2297 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2298 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(4, 0, 402);
2299 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2300 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(4, 1, 403);
2301 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2302 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(4, 2, 404);
2303 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2304 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(4, 0, 405);
2305 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2306 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(4, 1, 406);
2307 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2308 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(4, 2, 407);
2309 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2310 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(4, 0, 408);
2311 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2312 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(4, 1, 409);
2313 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2314 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(4, 2, 410);
2315 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2316 sigmaPtr =
new Sigma2gg2QQbarX8g(4, 0, 411);
2317 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2318 sigmaPtr =
new Sigma2gg2QQbarX8g(4, 1, 412);
2319 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2320 sigmaPtr =
new Sigma2gg2QQbarX8g(4, 2, 413);
2321 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2322 sigmaPtr =
new Sigma2qg2QQbarX8q(4, 0, 414);
2323 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2324 sigmaPtr =
new Sigma2qg2QQbarX8q(4, 1, 415);
2325 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2326 sigmaPtr =
new Sigma2qg2QQbarX8q(4, 2, 416);
2327 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2328 sigmaPtr =
new Sigma2qqbar2QQbarX8g(4, 0, 417);
2329 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2330 sigmaPtr =
new Sigma2qqbar2QQbarX8g(4, 1, 418);
2331 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2332 sigmaPtr =
new Sigma2qqbar2QQbarX8g(4, 2, 419);
2333 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2337 if (settings.flag(
"SecondHard:Bottomonium")) {
2338 sigmaPtr =
new Sigma2gg2QQbar3S11g(5, 501);
2339 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2340 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(5, 0, 502);
2341 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2342 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(5, 1, 503);
2343 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2344 sigmaPtr =
new Sigma2gg2QQbar3PJ1g(5, 2, 504);
2345 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2346 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(5, 0, 505);
2347 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2348 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(5, 1, 506);
2349 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2350 sigmaPtr =
new Sigma2qg2QQbar3PJ1q(5, 2, 507);
2351 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2352 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(5, 0, 508);
2353 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2354 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(5, 1, 509);
2355 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2356 sigmaPtr =
new Sigma2qqbar2QQbar3PJ1g(5, 2, 510);
2357 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2358 sigmaPtr =
new Sigma2gg2QQbarX8g(5, 0, 511);
2359 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2360 sigmaPtr =
new Sigma2gg2QQbarX8g(5, 1, 512);
2361 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2362 sigmaPtr =
new Sigma2gg2QQbarX8g(5, 2, 513);
2363 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2364 sigmaPtr =
new Sigma2qg2QQbarX8q(5, 0, 514);
2365 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2366 sigmaPtr =
new Sigma2qg2QQbarX8q(5, 1, 515);
2367 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2368 sigmaPtr =
new Sigma2qg2QQbarX8q(5, 2, 516);
2369 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2370 sigmaPtr =
new Sigma2qqbar2QQbarX8g(5, 0, 517);
2371 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2372 sigmaPtr =
new Sigma2qqbar2QQbarX8g(5, 1, 518);
2373 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2374 sigmaPtr =
new Sigma2qqbar2QQbarX8g(5, 2, 519);
2375 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2379 if (settings.flag(
"SecondHard:SingleGmZ")) {
2380 sigmaPtr =
new Sigma1ffbar2gmZ;
2381 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2385 if (settings.flag(
"SecondHard:SingleW")) {
2386 sigmaPtr =
new Sigma1ffbar2W;
2387 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2391 if (settings.flag(
"SecondHard:GmZAndJet")) {
2392 sigmaPtr =
new Sigma2qqbar2gmZg;
2393 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2394 sigmaPtr =
new Sigma2qg2gmZq;
2395 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2399 if (settings.flag(
"SecondHard:WAndJet")) {
2400 sigmaPtr =
new Sigma2qqbar2Wg;
2401 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2402 sigmaPtr =
new Sigma2qg2Wq;
2403 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2407 if (settings.flag(
"SecondHard:TopPair")) {
2408 sigmaPtr =
new Sigma2gg2QQbar(6, 601);
2409 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2410 sigmaPtr =
new Sigma2qqbar2QQbar(6, 602);
2411 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2412 sigmaPtr =
new Sigma2ffbar2FFbarsgmZ(6, 604);
2413 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2417 if (settings.flag(
"SecondHard:SingleTop")) {
2418 sigmaPtr =
new Sigma2qq2QqtW(6, 603);
2419 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2420 sigmaPtr =
new Sigma2ffbar2FfbarsW(6, 0, 605);
2421 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2425 if (settings.flag(
"SecondHard:TwoBJets")) {
2426 sigmaPtr =
new Sigma2gg2QQbar(5, 123);
2427 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );
2428 sigmaPtr =
new Sigma2qqbar2QQbar(5, 124);
2429 container2Ptrs.push_back(
new ProcessContainer(sigmaPtr) );