9 #ifndef Pythia8_VinciaISR_H 10 #define Pythia8_VinciaISR_H 12 #include "Pythia8/SpaceShower.h" 13 #include "Pythia8/VinciaAntennaFunctions.h" 14 #include "Pythia8/VinciaCommon.h" 15 #include "Pythia8/VinciaDiagnostics.h" 16 #include "Pythia8/VinciaQED.h" 17 #include "Pythia8/VinciaEW.h" 18 #include "Pythia8/VinciaWeights.h" 42 virtual string name() {
return "TrialGeneratorISR";}
45 virtual void init(
double mcIn,
double mbIn);
51 virtual double aTrial(
double saj,
double sjb,
double sAB);
54 virtual double getQ2(
double saj,
double sjb,
double sAB) {
55 return (saj*sjb/(saj + sjb + sAB));}
56 virtual double getQ2max(
double sAB,
double,
double) {
60 virtual double genQ2run(
double q2old,
double sAB,
double zMin,
double zMax,
61 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
62 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0);
65 virtual double genQ2(
double q2old,
double sAB,
double zMin,
double zMax,
66 double colFac,
double alphaSvalue,
double PDFratio,
double eA,
double eB,
67 double headroomFac = 1.0,
double enhanceFac = 1.0);
71 virtual double genQ2thres(
double q2old,
double sAB,
double zMin,
72 double zMax,
double colFac,
double alphaSvalue,
double PDFratio,
int idA,
73 int idB,
double eA,
double eB,
bool useMpdf,
double headroomFac = 1.0,
74 double enhanceFac = 1.0);
77 virtual double genZ(
double zMin,
double zMax);
80 virtual double getIz(
double zMin,
double zMax);
83 virtual double getZmin(
double Qt2,
double sAB,
double eA,
double eBeamUsed);
84 virtual double getZmax(
double Qt2,
double sAB,
double eA,
double eBeamUsed);
87 virtual double getS1j(
double Qt2,
double zeta,
double sAB);
88 virtual double getSj2(
double Qt2,
double zeta,
double sAB);
92 int iSys,
int idA,
int idB,
double eA,
double eB,
93 double Qt2A,
double Qt2B);
153 virtual string name()
override {
return "TrialIISoft";}
166 virtual string name()
override {
return "TrialIIGCollA";}
170 virtual double aTrial(
double saj,
double sjb,
double sAB)
override;
173 virtual double getQ2(
double saj,
double sjb,
double sAB)
override {
174 return (saj*sjb/(saj + sjb + sAB));}
175 virtual double getQ2max(
double sAB,
double,
double)
override {
179 virtual double genQ2run(
double q2old,
double sAB,
double zMin,
double zMax,
180 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
181 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
185 virtual double genQ2(
double q2old,
double sAB,
double zMin,
double zMax,
186 double colFac,
double alphaSvalue,
double PDFratio,
187 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
191 virtual double genZ(
double zMin,
double zMax)
override;
194 virtual double getIz(
double zMin,
double zMax)
override;
197 virtual double getZmin(
double Qt2,
double sAB,
double eA,
double eBeamUsed)
199 virtual double getZmax(
double Qt2,
double sAB,
double eA,
double eBeamUsed)
203 virtual double getS1j(
double Qt2,
double zeta,
double sAB)
override;
204 virtual double getSj2(
double Qt2,
double zeta,
double sAB)
override;
217 virtual string name()
override {
return "TrialIIGCollB";}
220 virtual double aTrial(
double saj,
double sjb,
double sAB)
override {
225 virtual double getS1j(
double Qt2,
double zeta,
double sAB)
override {
227 virtual double getSj2(
double Qt2,
double zeta,
double sAB)
override {
232 int iSys,
int idA,
int idB,
double eA,
double eB,
233 double Qt2A,
double Qt2B)
override {
236 beamBPtr, beamAPtr, iSys, idB, idA, eB, eA, Qt2B, Qt2A);}
249 virtual string name()
override {
return "TrialIISplitA";}
253 virtual double aTrial(
double saj,
double sjb,
double sAB)
override;
256 virtual double getQ2(
double saj,
double sjb,
double sAB)
override {
257 return ((
useMevolSav) ? saj : saj*sjb/(saj + sjb + sAB));}
258 virtual double getQ2max(
double sAB,
double,
double)
override {
263 virtual double genQ2run(
double q2old,
double sAB,
double zMin,
double zMax,
264 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
265 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
269 virtual double genQ2(
double q2old,
double sAB,
double zMin,
double zMax,
270 double colFac,
double alphaSvalue,
double PDFratio,
271 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
276 virtual double genQ2thres(
double q2old,
double sAB,
277 double zMin,
double zMax,
double colFac,
double alphaSvalue,
278 double PDFratio,
int idA,
int idB,
double eA,
double eB,
bool useMpdf,
279 double headroomFac = 1.0,
double enhanceFac = 1.0)
override;
283 virtual double genZ(
double zMin,
double zMax)
override;
287 virtual double getIz(
double zMin,
double zMax)
override;
290 virtual double getZmin(
double Qt2,
double sAB,
double eA,
double eBeamUsed)
292 virtual double getZmax(
double Qt2,
double sAB,
double eA,
double eBeamUsed)
296 virtual double getS1j(
double Qt2,
double zeta,
double sAB)
override;
297 virtual double getSj2(
double Qt2,
double zeta,
double sAB)
override;
301 int iSys,
int idA,
int idB,
double eA,
double eB,
302 double Qt2A,
double Qt2B)
override;
315 virtual string name()
override {
return "TrialIISplitB";}
318 virtual double aTrial(
double saj,
double sjb,
double sAB)
override {
323 virtual double getQ2(
double saj,
double sjb,
double sAB)
override {
328 virtual double genQ2run(
double q2old,
double sAB,
double zMin,
double zMax,
329 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
330 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
332 PDFratio, b0, kR, Lambda, eB, eA, headroomFac, enhanceFac);}
335 virtual double genQ2(
double q2old,
double sAB,
double zMin,
double zMax,
336 double colFac,
double alphaSvalue,
double PDFratio,
337 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
339 alphaSvalue, PDFratio, eB, eA, headroomFac, enhanceFac);}
344 double zMin,
double zMax,
double colFac,
double alphaSvalue,
345 double PDFratio,
int idA,
int idB,
double eA,
double eB,
bool useMpdf,
346 double headroomFac = 1.0,
double enhanceFac = 1.0)
override {
348 alphaSvalue, PDFratio, idB, idA, eB, eA, useMpdf, headroomFac,
352 virtual double getS1j(
double Qt2,
double zeta,
double sAB)
override {
354 virtual double getSj2(
double Qt2,
double zeta,
double sAB)
override {
359 int iSys,
int idA,
int idB,
double eA,
double eB,
double Qt2A,
double Qt2B)
363 idB, idA, eB, eA, Qt2B, Qt2A);}
376 virtual string name()
override {
return "TrialIIConvA";}
380 virtual double aTrial(
double saj,
double sjb,
double sAB)
override;
383 virtual double getQ2(
double saj,
double sjb,
double sAB)
override {
384 return ((
useMevolSav) ? saj : (saj*sjb/(saj + sjb + sAB)));}
385 virtual double getQ2max(
double sAB,
double,
double)
override {
389 virtual double genQ2run(
double q2old,
double sAB,
double zMin,
double zMax,
390 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
391 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
396 virtual double genQ2(
double q2old,
double sAB,
double zMin,
double zMax,
397 double colFac,
double alphaSvalue,
double PDFratio,
398 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
402 virtual double genZ(
double zMin,
double zMax)
override;
405 virtual double getIz(
double zMin,
double zMax)
override;
408 virtual double getZmin(
double Qt2,
double sAB,
double eA,
double eBeamUsed)
410 virtual double getZmax(
double Qt2,
double sAB,
double eA,
double eBeamUsed)
414 virtual double getS1j(
double Qt2,
double zeta,
double sAB)
override;
415 virtual double getSj2(
double Qt2,
double zeta,
double sAB)
override;
419 int iSys,
int idA,
int idB,
double eA,
double eB,
420 double Qt2A,
double Qt2B)
override;
433 virtual string name()
override {
return "TrialIIConvB";}
436 virtual double aTrial(
double saj,
double sjb,
double sAB)
override {
441 virtual double getQ2(
double saj,
double sjb,
double sAB)
override {
446 virtual double genQ2run(
double q2old,
double sAB,
double zMin,
double zMax,
447 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
448 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
450 PDFratio, b0, kR, Lambda, eB, eA, headroomFac, enhanceFac);}
453 virtual double genQ2(
double q2old,
double sAB,
double zMin,
double zMax,
454 double colFac,
double alphaSvalue,
double PDFratio,
455 double eA,
double eB,
double headroomFac = 1.0,
double enhanceFac = 1.0)
457 alphaSvalue, PDFratio, eB, eA, headroomFac, enhanceFac);}
460 virtual double getS1j(
double Qt2,
double zeta,
double sAB)
override {
462 virtual double getSj2(
double Qt2,
double zeta,
double sAB)
override {
467 int iSys,
int idA,
int idB,
double eA,
double eB,
468 double Qt2A,
double Qt2B)
override {
471 beamBPtr, beamAPtr, iSys, idB, idA, eB, eA, Qt2B, Qt2A);}
484 virtual string name()
override {
return "TrialIFSoft";}
488 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
491 virtual double getQ2(
double saj,
double sjk,
double sAK)
override {
492 return (saj*sjk/(sAK+sjk));}
493 virtual double getQ2max(
double sAK,
double eA,
double eBeamUsed)
override {
494 double eAmax = ((sqrt(
shhSav)/2.0) - (eBeamUsed-eA));
495 return (sAK*(eAmax-eA)/eA);}
498 virtual double genQ2run(
double q2old,
double sAK,
double zMin,
double zMax,
499 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
500 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
504 virtual double genQ2(
double q2old,
double sAK,
double zMin,
double zMax,
505 double colFac,
double alphaSvalue,
double PDFratio,
506 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
510 virtual double genZ(
double zMin,
double zMax)
override;
513 virtual double getIz(
double zMin,
double zMax)
override;
516 virtual double getZmin(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
518 virtual double getZmax(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
522 virtual double getS1j(
double Qt2,
double zeta,
double sAK)
override;
523 virtual double getSj2(
double Qt2,
double zeta,
double sAK)
override;
527 int iSys,
int idA,
int idK,
double eA,
double eK,
528 double Qt2A,
double Qt2B)
override;
542 virtual string name()
override {
return "TrialVFSoft";}
546 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
549 virtual double genZ(
double zMin,
double zMax)
override;
552 virtual double getIz(
double zMin,
double zMax)
override;
565 virtual string name()
override {
return "TrialIFGCollA";}
570 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
573 virtual double getQ2(
double saj,
double sjk,
double sAK)
override {
574 return (saj*sjk/(sAK+sjk));}
575 virtual double getQ2max(
double sAK,
double eA,
double eBeamUsed)
override {
576 double eAmax = ( (sqrt(
shhSav)/2.0) - (eBeamUsed-eA) );
577 return (sAK*(eAmax-eA)/eA);}
580 virtual double genQ2run(
double q2old,
double sAK,
double zMin,
double zMax,
581 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
582 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
586 virtual double genQ2(
double q2old,
double sAK,
double zMin,
double zMax,
587 double colFac,
double alphaSvalue,
double PDFratio,
588 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
592 virtual double genZ(
double zMin,
double zMax)
override;
595 virtual double getIz(
double zMin,
double zMax)
override;
598 virtual double getZmin(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
600 virtual double getZmax(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
604 virtual double getS1j(
double Qt2,
double zeta,
double sAK)
override;
605 virtual double getSj2(
double Qt2,
double zeta,
double sAK)
override;
609 int iSys,
int idA,
int idK,
double eA,
double eK,
610 double Qt2A,
double Qt2B)
override;
623 virtual string name()
override {
return "TrialIFGCollK";}
626 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
629 virtual double getQ2(
double saj,
double sjk,
double sAK)
override {
630 return (saj*sjk/(sAK+sjk));
632 virtual double getQ2max(
double sAK,
double eA,
double eAused)
override {
633 double eAmax = ( (sqrt(
shhSav)/2.0) - (eAused-eA) );
634 return (sAK*(eAmax-eA)/eA);}
637 virtual double genQ2run(
double q2old,
double sAK,
double zMin,
double zMax,
638 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
639 double eA,
double eK,
double headroomFac=1.0,
double enhanceFac=1.0)
643 virtual double genQ2(
double q2old,
double sAK,
double zMin,
double zMax,
644 double colFac,
double alphaSvalue,
double PDFratio,
645 double eA,
double eK,
double headroomFac=1.0,
double enhanceFac=1.0)
649 virtual double genZ(
double zMin,
double zMax)
override;
652 virtual double getIz(
double zMin,
double zMax)
override;
655 virtual double getZmin(
double Qt2,
double sAK,
double eA,
double eAused)
657 virtual double getZmax(
double Qt2,
double sAK,
double eA,
double eAused)
661 virtual double getS1j(
double Qt2,
double zeta,
double sAK)
override;
662 virtual double getSj2(
double Qt2,
double zeta,
double sAK)
override;
666 int iSys,
int idA,
int idK,
double eA,
double eK,
667 double Qt2A,
double Qt2B)
override;
679 virtual string name()
override {
return "TrialIFSplitA";}
683 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
686 virtual double getQ2(
double saj,
double sjk,
double sAK)
override {
687 return ((
useMevolSav) ? saj : saj*sjk/(sAK + sjk));}
688 virtual double getQ2max(
double sAK,
double eA,
double eBeamUsed)
override {
689 double xA = eA/(sqrt(
shhSav)/2.0);
690 double eAmax = ((sqrt(
shhSav)/2.0) - (eBeamUsed - eA));
691 return ((
useMevolSav) ? sAK/xA : sAK*(eAmax - eA)/eA);}
694 virtual double genQ2run(
double q2old,
double sAK,
double zMin,
double zMax,
695 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
696 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
700 virtual double genQ2(
double q2old,
double sAK,
double zMin,
double zMax,
701 double colFac,
double alphaSvalue,
double PDFratio,
702 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
707 virtual double genQ2thres(
double q2old,
double sAK,
708 double zMin,
double zMax,
double colFac,
double alphaSvalue,
709 double PDFratio,
int idA,
int idK,
double eA,
double eK,
bool useMpdf,
710 double headroomFac = 1.0,
double enhanceFac = 1.0)
override;
713 virtual double genZ(
double zMin,
double zMax)
override;
716 virtual double getIz(
double zMin,
double zMax)
override;
719 virtual double getZmin(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
721 virtual double getZmax(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
725 virtual double getS1j(
double Qt2,
double zeta,
double sAK)
override;
726 virtual double getSj2(
double Qt2,
double zeta,
double sAK)
override;
730 int iSys,
int idA,
int idK,
double eA,
double eK,
731 double Qt2A,
double Qt2B)
override;
744 virtual string name()
override {
return "TrialIFSplitK";}
748 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
751 virtual double getQ2(
double saj,
double sjk,
double sAK)
override {
752 return ((
useMevolSav) ? sjk : saj*sjk/(sAK + sjk));}
753 virtual double getQ2max(
double sAK,
double eA,
double eBeamUsed)
override {
754 double xA = eA/(sqrt(
shhSav)/2.0);
755 double eAmax = ((sqrt(
shhSav)/2.0) - (eBeamUsed - eA));
756 return ((
useMevolSav) ? sAK*(1.0 - xA)/xA : sAK*(eAmax - eA)/eA);}
759 virtual double genQ2run(
double q2old,
double sAK,
double zMin,
double zMax,
760 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
761 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
765 virtual double genQ2(
double q2old,
double sAK,
double zMin,
double zMax,
766 double colFac,
double alphaSvalue,
double PDFratio,
767 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
771 virtual double genZ(
double zMin,
double zMax)
override;
774 virtual double getIz(
double zMin,
double zMax)
override;
777 virtual double getZmin(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
779 virtual double getZmax(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
783 virtual double getS1j(
double Qt2,
double zeta,
double sAK)
override;
784 virtual double getSj2(
double Qt2,
double zeta,
double sAK)
override;
788 int iSys,
int idA,
int idK,
double eA,
double eK,
789 double Qt2A,
double Qt2B)
override;
802 virtual string name()
override {
return "TrialIFConvA";}
808 virtual double aTrial(
double saj,
double sjk,
double sAK)
override;
811 virtual double getQ2(
double saj,
double sjk,
double sAK)
override {
812 return ((
useMevolSav) ? saj : saj*sjk/(sAK + sjk));}
813 virtual double getQ2max(
double sAK,
double eA,
double eBeamUsed)
override {
814 double xA = eA/(sqrt(
shhSav)/2.0);
815 double eAmax = ((sqrt(
shhSav)/2.0) - (eBeamUsed - eA));
816 return ((
useMevolSav) ? sAK/xA : sAK*(eAmax-eA)/eA);}
819 virtual double genQ2run(
double q2old,
double sAK,
double zMin,
double zMax,
820 double colFac,
double PDFratio,
double b0,
double kR,
double Lambda,
821 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
825 virtual double genQ2(
double q2old,
double sAK,
double zMin,
double zMax,
826 double colFac,
double alphaSvalue,
double PDFratio,
827 double eA,
double eK,
double headroomFac = 1.0,
double enhanceFac = 1.0)
831 virtual double genZ(
double zMin,
double zMax)
override;
834 virtual double getIz(
double zMin,
double zMax)
override;
837 virtual double getZmin(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
839 virtual double getZmax(
double Qt2,
double sAK,
double eA,
double eBeamUsed)
843 virtual double getS1j(
double Qt2,
double zeta,
double sAK)
override;
844 virtual double getSj2(
double Qt2,
double zeta,
double sAK)
override;
848 int iSys,
int idA,
int idK,
double eA,
double eK,
849 double Qt2A,
double Qt2B)
override;
882 int iOld2In,
int colIn,
bool isVal1In,
bool isVal2In) {
883 reset(iSysIn, event, iOld1In, iOld2In, colIn, isVal1In, isVal2In);}
886 void reset(
int iSysIn,
Event& event,
int i1In,
int i2In,
int colIn,
887 bool isVal1In,
bool isVal2In);
890 double mAnt()
const {
return mAntSav;}
891 double m2Ant()
const {
return m2AntSav;}
892 double sAnt()
const {
return sAntSav;}
894 double s12()
const {
return 2*new1.p()*new2.p();}
895 double s23()
const {
return 2*new2.p()*new3.p();}
896 double s13()
const {
return 2*new1.p()*new3.p();}
899 bool isII()
const {
return isIIsav;}
901 bool is1A()
const {
return is1Asav;}
904 bool isVal2()
const {
return isVal2sav;}
905 int colType1()
const {
return colType1sav;}
906 int colType2()
const {
return colType2sav;}
907 int col()
const {
return colSav;}
908 int geti1() {
return i1sav;}
909 int geti2() {
return i2sav;}
910 int getId1() {
return id1sav;}
911 int getId2() {
return id2sav;}
912 int getSystem() {
return system;}
915 void clearTrialGenerators();
918 void addTrialGenerator(
enum AntFunType antFunTypeIn,
bool swapIn,
923 int getNshouldRescue(
int iTrial) {
return nShouldRescue[iTrial];}
925 for (
int i=0; i<(int)nShouldRescue.size(); i++) nShouldRescue[i] = 0;}
931 void saveTrial(
int iTrial,
double qOld,
double qTrial,
double zMin=0.,
932 double zMax=0.,
double colFac=0.,
double alphaEff=0.,
double pdfRatio=0.,
933 int trialFlav=0,
double extraMpdf=0.,
double headroom = 1.0,
934 double enhanceFac = 1.0);
937 void addPDF(
int iTrial,
double pdfRatio) {physPDFratioSav[iTrial] = pdfRatio;}
940 bool genTrialInvariants(
double& s1j,
double& sj2,
941 double eBeamUsed,
int iTrial = -1);
944 int getTrialIndex()
const;
948 if (iTrial <
int(hasSavedTrial.size()))
return hasSavedTrial[iTrial];
953 if (iTrial <= -1) iTrial = getTrialIndex();
954 return isSwappedSav[iTrial];}
958 if (iTrial <= -1) iTrial = getTrialIndex();
959 return antFunTypePhysSav[iTrial];}
963 if (iTrial <
int(scaleSav.size()))
return scaleSav[iTrial];
967 double getTrialScale()
const;
971 if (iTrial <= -1) iTrial = getTrialIndex();
972 return colFacSav[iTrial];}
976 if (iTrial <= -1) iTrial = getTrialIndex();
977 return headroomSav[iTrial];}
981 if (iTrial <= -1) iTrial = getTrialIndex();
982 return enhanceFacSav[iTrial];}
986 if (iTrial <= -1) iTrial = getTrialIndex();
987 return alphaSav[iTrial];}
991 if (iTrial <= -1) iTrial = getTrialIndex();
996 if (iTrial <= -1) iTrial = getTrialIndex();
1001 if (iTrial <= -1) iTrial = getTrialIndex();
1002 return physPDFratioSav[iTrial];}
1006 if (iTrial <= -1) iTrial = getTrialIndex();
1007 return extraMassPDFfactorSav[iTrial];}
1012 if (iTrial >= 0) hasSavedTrial[iTrial] =
false;
1013 else for (iTrial = 0; iTrial < int(hasSavedTrial.size()); ++iTrial)
1014 hasSavedTrial[iTrial] =
false;}
1017 void list(
bool header =
false,
bool footer =
false)
const;
1020 int i1sav{}, i2sav{}, id1sav{}, id2sav{}, colType1sav{}, colType2sav{},
1022 double e1sav{}, e2sav{};
1023 bool isVal1sav{}, isVal2sav{}, isIIsav{}, is1Asav{};
1028 int system{0}, nVeto{}, nHull{}, nHadr{};
1030 bool forceSplittingSav{};
1033 vector<TrialGeneratorISR*> trialGenPtrsSav{};
1034 vector<double> zMinSav{}, zMaxSav{}, colFacSav{}, alphaSav{};
1036 vector<double> extraMassPDFfactorSav{};
1037 vector<double> scaleSav{}, scaleOldSav{}, headroomSav{}, enhanceFacSav{};
1038 vector<bool> hasSavedTrial{}, isSwappedSav{};
1039 vector<enum AntFunType> antFunTypePhysSav{};
1048 double m2AntSav{}, mAntSav{}, sAntSav{};
1081 bool limitPTmax(
Event& event,
double Q2Fac = 0.,
double Q2Ren = 0.)
override;
1084 void prepare(
int iSys,
Event& event,
bool limitPTmaxIn =
false)
override;
1087 void update(
int iSys,
Event& event,
bool hasWeakRad =
false)
override;
1090 double pTnext(
Event& event,
double pTbegAll,
double pTendAll,
1091 int nRadIn = -1,
bool doTrialIn =
false)
override;
1095 bool branch(
Event& event)
override;
1098 void list()
const override;
1118 int system()
const override {
return iSysWin;}
1126 shared_ptr<VinciaFSR> fsrPtrIn,
MECs* mecsPtrIn,
1132 diagnosticsPtr = diagnosticsPtrIn;
1137 ewShowerPtr = ewShowerPtrIn;
1142 qedShowerHardPtr = qedShowerPtrIn;
1147 qedShowerSoftPtr = qedShowerPtrIn;
1151 void clearContainers();
1158 if (hasPrepared.find(iSys) != hasPrepared.end())
return hasPrepared[iSys];
1163 return antSetPtr->getAntFunPtr(antFunType);}
1167 for (
int i=1; i<(int)regMinScalesSav.size(); i++)
1168 if (q < regMinScalesSav[i])
return i-1;
1169 return (
int)regMinScalesSav.size() - 1;}
1173 iRegion = max(0,iRegion);
1174 iRegion = min(iRegion,(
int)regMinScalesSav.size()-1);
1175 return regMinScalesSav[iRegion];}
1179 if (iRegion <= 1)
return 3;
1180 else if (iRegion <= 2)
return 4;
1181 else if (iRegion <= 4)
return 5;
1186 if (nFin <= 3)
return alphaSptr->Lambda3();
1187 else if (nFin <= 4)
return alphaSptr->Lambda4();
1188 else if (nFin <= 5)
return alphaSptr->Lambda5();
1189 else return alphaSptr->Lambda6();}
1192 void resetTrialGenerators(shared_ptr<BranchElementalISR> trial);
1197 bool checkHeavyQuarkPhaseSpace(vector<Particle> parts,
int iSyst);
1200 bool heavyQuarkLeft(
double qTrial);
1204 if (!isInit)
return false;
1205 if ((
int)isHardSys.size() <= iSys)
return false;
1206 return isHardSys[iSys];}
1209 vector<double>
getMasses() {
return vector<double> {mt, mtb, mb, mc, ms};}
1216 if (iSys < 0)
for (
int i = 0; i < (int)nBranchISR.size(); ++i)
1217 n += nBranchISR[iSys];
1218 else if (iSys < (
int)nBranchISR.size()) n = nBranchISR[iSys];
1224 void setIsTrialShowerRes(
bool isTrialIn){ isTrialShowerRes = isTrialIn; }
1228 void saveBornState(
Event& born,
int iSys);
1230 void saveBornForTrialShower(
Event& born);
1236 bool checkAntennae(
const Event& event);
1244 void setStartScale(
int iSys,
Event& event);
1247 double getHeadroomFac(
int iSys,
enum AntFunType antFunTypePhysIn,
1251 bool generateKinematics(
Event& event,
1252 shared_ptr<BranchElementalISR> trialPtr, vector<Vec4>& pRec) {
1253 return ( trialPtr->isII()
1254 ? generateKinematicsII(event, trialPtr, pRec)
1255 : generateKinematicsIF(event, trialPtr, pRec) ); }
1258 bool generateKinematicsII(
Event& event,
1259 shared_ptr<BranchElementalISR> trialPtr, vector<Vec4>& pRec);
1262 bool generateKinematicsIF(
Event& event,
1263 shared_ptr<BranchElementalISR> trialPtr, vector<Vec4>& pRec);
1266 bool acceptTrial(
const Event& event,
1267 shared_ptr<BranchElementalISR> winnerPtr);
1270 bool assignColourFlow(
Event& event, shared_ptr<BranchElementalISR> trialPtr);
1277 bool hasUserHooks, canVetoEmission;
1281 double eBeamA, eBeamB, eCMBeamsSav, m2BeamsSav;
1285 bool doII, doIF, doQED;
1288 map<int, bool> hasPrepared;
1291 bool helicityShower,
sectorShower, convGluonToQuarkI, convQuarkToGluonI;
1292 bool kineMapIFretry;
1294 double cutoffScaleII, cutoffScaleIF;
1298 int pTmaxMatch{}, pTdampMatch{};
1299 double pTmaxFudge{}, pT2maxFudge{}, pT2maxFudgeMPI{}, pTdampFudge{};
1304 double alphaSvalue, alphaSmax, alphaSmuFreeze, alphaSmuMin;
1305 double aSkMu2EmitI, aSkMu2SplitI, aSkMu2SplitF, aSkMu2Conv;
1306 double mt, mtb, ms, mb, mc;
1308 double mu2freeze, mu2min;
1329 bool enhanceInHard, enhanceInResDec, enhanceInMPI;
1330 double enhanceAll, enhanceBottom, enhanceCharm, enhanceCutoff;
1337 shared_ptr<VinciaFSR> fsrPtr{};
1342 shared_ptr<VinciaDiagnostics> diagnosticsPtr;
1345 VinciaModulePtr ewShowerPtr;
1346 VinciaModulePtr qedShowerHardPtr;
1347 VinciaModulePtr qedShowerSoftPtr;
1350 vector<double> Paccept;
1353 vector<double> regMinScalesMtSav;
1354 vector<double> regMinScalesSav;
1355 vector<double> regMinScalesNow;
1358 vector<shared_ptr<BranchElementalISR> > branchElementals;
1361 shared_ptr<BranchElementalISR> winnerPtr{};
1364 vector<Particle> stateNew;
1368 map<int, bool> isHardSys{}, isResonanceSys{}, polarisedSys{}, doMECsSys{};
1371 map<int, vector< Particle > > partsSav{};
1372 map<int, vector< int > > indexSav{};
1375 map<int, double> q2Hat{};
1376 vector<bool> doPTlimit{}, doPTdamp{};
1377 map<int, double> pT2damp{};
1380 map<int, int> nBranch, nBranchISR;
1383 map<int, Particle> initialA;
1384 map<int, Particle> initialB;
1385 double eBeamAUsed, eBeamBUsed;
1388 map<int, int> nG, nQQ;
1391 map<int, bool> savedBorn;
1392 map<int, bool> resolveBorn;
1393 map<int, map<int, int>> nFlavsBorn;
1396 bool doMerging, isTrialShower, isTrialShowerRes;
virtual double aTrial(double saj, double sjb, double sAB)
Trial antenna function.
Definition: VinciaISR.cc:63
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:249
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:153
virtual double trialPDFratio(BeamParticle *beamAPtr, BeamParticle *beamBPtr, int iSys, int idA, int idB, double eA, double eB, double Qt2A, double Qt2B) override
Trial PDF ratio.
Definition: VinciaISR.h:231
virtual double getQ2(double saj, double sjb, double sAB) override
Evolution scale.
Definition: VinciaISR.h:441
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:484
virtual double getS1j(double Qt2, double zeta, double sAB) override
Inverse transforms to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.h:352
void setQEDShowerHardPtr(VinciaModulePtr qedShowerPtrIn)
Set QED shower module for hard process and resonance decays.
Definition: VinciaISR.h:1141
History class for the Vincia shower.
Definition: VinciaHistory.h:247
virtual double genQ2(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0)
Generate new Q value, with constant trial alphaS.
Definition: VinciaISR.cc:103
A conversion trial function for initial-initial, g -> qqbar.
Definition: VinciaISR.h:371
bool wasGamma2qqbar() override
Definition: VinciaISR.h:1112
constexpr double pow2(const double &x)
Powers of small integers - for balance speed/code clarity.
Definition: PythiaStdlib.h:182
Definition: VinciaISR.h:537
void initPtr(Info *infoPtrIn)
Initialize pointers.
Definition: VinciaISR.cc:24
double getLambda(int nFin)
Lambda value.
Definition: VinciaISR.h:1185
virtual double getZmax(double Qt2, double sAB, double eA, double eBeamUsed)
Definition: VinciaISR.cc:164
void addRescue(int iTrial)
Add to and get rescue levels.
Definition: VinciaISR.h:922
virtual double genQ2thres(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, int idA, int idB, double eA, double eB, bool useMpdf, double headroomFac=1.0, double enhanceFac=1.0) override
Definition: VinciaISR.h:343
A splitting trial function for initial-final, q -> gqbar.
Definition: VinciaISR.h:674
double getExtraMassPDFfactor(int iTrial=-1)
Get the extra factor when getting rid of the heavy quarks.
Definition: VinciaISR.h:1005
virtual double getQ2(double saj, double sjb, double sAB) override
Evolution scale.
Definition: VinciaISR.h:173
bool hasTrial(int iTrial) const
Check if a saved trial exists for a particular trialGenerator.
Definition: VinciaISR.h:947
virtual double getS1j(double Qt2, double zeta, double sAB) override
Inverse transforms to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.h:225
Definition: StandardModel.h:23
virtual double genQ2run(double q2old, double sAB, double zMin, double zMax, double colFac, double PDFratio, double b0, double kR, double Lambda, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate a new Q value, with first-order running alphaS.
Definition: VinciaISR.cc:566
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:802
virtual double genQ2run(double q2old, double sAB, double zMin, double zMax, double colFac, double PDFratio, double b0, double kR, double Lambda, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate a new Q value, with first-order running alphaS.
Definition: VinciaISR.h:446
VinciaISR()
Constructor.
Definition: VinciaISR.h:1069
int system() const override
Tell which system was the last processed one.
Definition: VinciaISR.h:1118
int trialFlavSav
For conversion trial generators.
Definition: VinciaISR.h:119
The Event class holds all info on the generated event.
Definition: Event.h:453
double shhSav
s for hadron hadron.
Definition: VinciaISR.h:116
bool isVal1() const
Valence.
Definition: VinciaISR.h:903
bool isII() const
This is an II or an IF type.
Definition: VinciaISR.h:899
int getTrialFlav(int iTrial=-1)
For gluon conversions, get ID of quark flavour to convert to.
Definition: VinciaISR.h:995
int trialFlav()
Return the last trial flavor.
Definition: VinciaISR.h:102
Definition: BeamParticle.h:133
Simple struct to store information about a 3 -> 2 clustering.
Definition: VinciaCommon.h:278
virtual double getQ2(double saj, double sjk, double sAK) override
Evolution scale.
Definition: VinciaISR.h:811
virtual double getSj2(double Qt2, double zeta, double sAB) override
Definition: VinciaISR.cc:346
virtual double getS1j(double Qt2, double zeta, double sAB)
Inverse transforms to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.cc:176
A collinear trial function for initial-initial.
Definition: VinciaISR.h:161
K splitting trial function for initial-final, g -> qqbar.
Definition: VinciaISR.h:739
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:623
double s12() const
Dot products of daughters.
Definition: VinciaISR.h:894
Definition: VinciaCommon.h:211
B splitting trial function for initial-initial, q -> gqbar.
Definition: VinciaISR.h:310
double getPDFratioPhys(int iTrial=-1)
Get pdf ratio.
Definition: VinciaISR.h:1000
Definition: VinciaAntennaFunctions.h:416
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:376
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:679
virtual double getQ2(double saj, double sjb, double sAB) override
Evolution scale.
Definition: VinciaISR.h:383
The BranchElementalISR class, container for 2 -> 3 trial branchings.
Definition: VinciaISR.h:875
Definition: VinciaISR.h:30
virtual string name()
Name of trial generator.
Definition: VinciaISR.h:42
double enhancePTmax() const override
Definition: VinciaISR.h:1122
Soft-eikonal trial function for initial-final.
Definition: VinciaISR.h:479
virtual double genQ2thres(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, int idA, int idB, double eA, double eB, bool useMpdf, double headroomFac=1.0, double enhanceFac=1.0)
Definition: VinciaISR.cc:128
bool isSysHard(int iSys)
Function to ask if a system is hard.
Definition: VinciaISR.h:1203
A conversion trial function for initial-final, g -> qqbar.
Definition: VinciaISR.h:797
virtual double getS1j(double Qt2, double zeta, double sAB) override
Inverse transforms to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.cc:505
virtual double getSj2(double Qt2, double zeta, double sAB)
Definition: VinciaISR.cc:188
virtual double getS1j(double Qt2, double zeta, double sAB) override
Inverse transforms: to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.h:460
Definition: VinciaISR.h:148
virtual double getQ2(double saj, double sjk, double sAK) override
Evolution scale.
Definition: VinciaISR.h:751
bool useMevolSav
Use m or pT evolution for collinear singularities.
Definition: VinciaISR.h:113
virtual double aTrial(double saj, double sjb, double sAB) override
Trial antenna function.
Definition: VinciaISR.h:436
virtual double getTrialPDFratio()
Return last trial PDF ratio.
Definition: VinciaISR.h:96
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:565
virtual double genQ2run(double q2old, double sAB, double zMin, double zMax, double colFac, double PDFratio, double b0, double kR, double Lambda, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate a new Q value, with first-order running alphaS.
Definition: VinciaISR.cc:379
virtual double genQ2run(double q2old, double sAB, double zMin, double zMax, double colFac, double PDFratio, double b0, double kR, double Lambda, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate new Q value, with first-order running alphaS.
Definition: VinciaISR.h:328
void setVerbose(int verboseIn)
Set verbosity level.
Definition: VinciaISR.h:1233
virtual double getQ2(double saj, double sjk, double sAK) override
Evolution scale.
Definition: VinciaISR.h:629
double trialPDFratioSav
Saved trial PDF ratio and trial tolerance.
Definition: VinciaISR.h:130
double getHeadroomFac(int iTrial=-1)
Get headroom factor.
Definition: VinciaISR.h:975
double mAnt() const
Antenna mass (negative if spacelike virtual).
Definition: VinciaISR.h:890
B collinear trial function for initial-initial.
Definition: VinciaISR.h:212
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:166
AntFunType
Enumerator for antenna function types, with "void" member NoFun.
Definition: VinciaCommon.h:66
virtual double trialPDFratio(BeamParticle *beamAPtr, BeamParticle *beamBPtr, int iSys, int idA, int idB, double eA, double eB, double Qt2A, double Qt2B) override
Trial PDF ratio.
Definition: VinciaISR.h:358
A splitting trial function for initial-initial, q -> gqbar.
Definition: VinciaISR.h:244
Info * infoPtr
Pointers.
Definition: VinciaISR.h:107
void renewTrial(int iTrial=-1)
Definition: VinciaISR.h:1011
int nTrialGenerators() const
Function to return number of trial generators for this antenna.
Definition: VinciaISR.h:928
Definition: VinciaFSR.h:582
bool doRestart() const override
Definition: VinciaISR.h:1108
Definition: VinciaCommon.h:494
virtual double getQ2(double saj, double sjb, double sAB) override
Evolution scale.
Definition: VinciaISR.h:323
Definition: VinciaISR.h:1060
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:542
int getNsys()
Get number of systems.
Definition: VinciaISR.h:1212
void setEWShowerPtr(VinciaModulePtr ewShowerPtrIn)
Set EW shower module.
Definition: VinciaISR.h:1136
int getRegion(double q)
Evolution windows, phase space region boundaries.
Definition: VinciaISR.h:1166
void setDiagnosticsPtr(shared_ptr< VinciaDiagnostics > diagnosticsPtrIn)
Set pointer to object to use for diagnostics and profiling.
Definition: VinciaISR.h:1131
TrialGeneratorISR()
Constructor.
Definition: VinciaISR.h:35
virtual double aTrial(double saj, double sjb, double sAB) override
Trial antenna function.
Definition: VinciaISR.h:220
bool prepared(int iSys)
Function to tell if VinciaISR::prepare() has treated this system.
Definition: VinciaISR.h:1157
virtual double aTrial(double saj, double sjb, double sAB) override
A conversion trial function for initial-initial, g -> qqbar.
Definition: VinciaISR.cc:555
double getTrialScale(int iTrial) const
Get scale for a specific saved trial.
Definition: VinciaISR.h:962
virtual double genQ2thres(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, int idA, int idB, double eA, double eB, bool useMpdf, double headroomFac=1.0, double enhanceFac=1.0) override
Definition: VinciaISR.cc:430
void initAntPtr(AntennaSetISR *antSetIn)
Initialize pointers to antenna sets.
Definition: VinciaISR.h:1154
virtual double trialPDFratio(BeamParticle *beamAPtr, BeamParticle *beamBPtr, int iSys, int idA, int idB, double eA, double eB, double Qt2A, double Qt2B) override
Trial PDF ratio.
Definition: VinciaISR.h:466
virtual double genQ2(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate new Q value, with constant trial alphaS.
Definition: VinciaISR.h:335
void setIsTrialShower(bool isTrialIn)
Communicate information about trial showers for merging.
Definition: VinciaISR.h:1223
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:315
void addPDF(int iTrial, double pdfRatio)
Add the physical pdf ratio.
Definition: VinciaISR.h:937
virtual double trialPDFratio(BeamParticle *beamAPtr, BeamParticle *beamBPtr, int iSys, int idA, int idB, double eA, double eB, double Qt2A, double Qt2B) override
Trial PDF ratio.
Definition: VinciaISR.cc:697
virtual double getQ2(double saj, double sjk, double sAK) override
Evolution scale.
Definition: VinciaISR.h:686
int getNbranch(int iSys=-1)
Get number of branchings in a system (return -1 if no such system).
Definition: VinciaISR.h:1214
virtual double getQ2(double saj, double sjb, double sAB) override
Evolution scale.
Definition: VinciaISR.h:256
Class for storing Vincia weights.
Definition: VinciaWeights.h:22
virtual double getIz(double zMin, double zMax)
The zeta integral.
Definition: VinciaISR.cc:147
void setQEDShowerSoftPtr(VinciaModulePtr qedShowerPtrIn)
Set QED shower module for MPI and hadronisation.
Definition: VinciaISR.h:1146
bool sectorShower
Doing a sector shower?
Definition: VinciaISR.h:127
bool checkInit()
Check initialization.
Definition: VinciaISR.cc:214
virtual double trialPDFratio(BeamParticle *beamAPtr, BeamParticle *beamBPtr, int iSys, int idA, int idB, double eA, double eB, double Qt2A, double Qt2B) override
Trial PDF ratio.
Definition: VinciaISR.cc:538
virtual double getQ2(double saj, double sjb, double sAB)
Evolution scale.
Definition: VinciaISR.h:54
void onBeginEvent() override
Force reset at beginning of each event.
Definition: VinciaISR.h:1078
virtual double genQ2(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate new Q value, with constant trial alphaS.
Definition: VinciaISR.cc:405
double getAlphaTrial(int iTrial=-1)
Get alpha S.
Definition: VinciaISR.h:985
virtual double getSj2(double Qt2, double zeta, double sAB) override
Definition: VinciaISR.cc:520
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:744
virtual double getS1j(double Qt2, double zeta, double sAB) override
Inverse transforms to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.cc:333
virtual double genZ(double zMin, double zMax)
Generate a new zeta value in [zMin,zMax].
Definition: VinciaISR.cc:136
vector< double > getMasses()
Return a vector of the masses.
Definition: VinciaISR.h:1209
A simple class for containing evolution variable definitions.
Definition: VinciaCommon.h:382
virtual double getZmin(double Qt2, double sAB, double eA, double eBeamUsed)
The zeta boundaries, for a given value of the evolution scale.
Definition: VinciaISR.cc:156
virtual double aTrial(double saj, double sjb, double sAB) override
A collinear trial function for initial-initial.
Definition: VinciaISR.cc:228
virtual ~VinciaISR()
Destructor.
Definition: VinciaISR.h:1072
int getNf(int iRegion)
Number of active flavors.
Definition: VinciaISR.h:1178
virtual double getQ2(double saj, double sjk, double sAK) override
Evolution scale.
Definition: VinciaISR.h:573
The AntennaSetISR class. Simple container of II and IF antenna functions.
Definition: VinciaAntennaFunctions.h:1191
virtual double getQ2(double saj, double sjk, double sAK) override
Evolution scale.
Definition: VinciaISR.h:491
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:217
virtual double trialPDFratio(BeamParticle *beamAPtr, BeamParticle *beamBPtr, int iSys, int idA, int idB, double eA, double eB, double Qt2A, double Qt2B)
Compute trial PDF ratio.
Definition: VinciaISR.cc:204
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
virtual double getSj2(double Qt2, double zeta, double sAB) override
Definition: VinciaISR.cc:678
B conversion trial function for initial-initial, g -> qqbar.
Definition: VinciaISR.h:428
A gluon collinear trial function for initial-final.
Definition: VinciaISR.h:560
virtual string name() override
Name of trial generator.
Definition: VinciaISR.h:433
bool getHasWeaklyRadiated() override
Tell whether ISR has done a weak emission. Not implemented in Vincia yet.
Definition: VinciaISR.h:1115
bool initUncertainties() override
Definition: VinciaISR.h:1102
Definition: VinciaAntennaFunctions.h:1258
double getEnhanceFac(int iTrial=-1)
Get headroom factor.
Definition: VinciaISR.h:980
bool is1A() const
Is 1 a side A (p+) guy (need to know for pdfs in IF).
Definition: VinciaISR.h:901
The SpaceShower class does spacelike showers.
Definition: SpaceShower.h:33
virtual double getS1j(double Qt2, double zeta, double sAB) override
Inverse transforms to obtain saj and sjb from Qt2 and zeta.
Definition: VinciaISR.cc:663
virtual double genQ2run(double q2old, double sAB, double zMin, double zMax, double colFac, double PDFratio, double b0, double kR, double Lambda, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0)
Generate new Q value, with first-order running alphaS.
Definition: VinciaISR.cc:75
virtual double aTrial(double saj, double sjb, double sAB) override
A splitting trial function for initial-initial, q -> gqbar.
Definition: VinciaISR.cc:367
double mbSav
Masses.
Definition: VinciaISR.h:123
K gluon collinear trial function for initial-final sector shower.
Definition: VinciaISR.h:618
virtual double genQ2(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate a new Q value, with constant trial alphaS.
Definition: VinciaISR.h:453
double getPDFratioTrial(int iTrial=-1)
Get pdf ratio.
Definition: VinciaISR.h:990
virtual double aTrial(double saj, double sjb, double sAB) override
Trial antenna function.
Definition: VinciaISR.h:318
AntennaFunctionIX * getAntFunPtr(enum AntFunType antFunType)
Wrapper function to return a specific antenna inside antenna set.
Definition: VinciaISR.h:1162
Definition: Settings.h:195
double getColFac(int iTrial=-1)
Get colour factor.
Definition: VinciaISR.h:970
virtual void init(double mcIn, double mbIn)
Initialize.
Definition: VinciaISR.cc:35
AlphaStrong * alphaSptr
Pointer to global AlphaStrong instance.
Definition: VinciaISR.h:1239
virtual double genQ2(double q2old, double sAB, double zMin, double zMax, double colFac, double alphaSvalue, double PDFratio, double eA, double eB, double headroomFac=1.0, double enhanceFac=1.0) override
Generate a new Q value, with constant trial alphaS.
Definition: VinciaISR.cc:592
double getQmin(int iRegion)
Evolution window, phase space region boundaries.
Definition: VinciaISR.h:1172
bool getIsSwapped(int iTrial=-1) const
Get whether physical antenna is swapped.
Definition: VinciaISR.h:952