Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:29

0001 //-*-c++-*-
0002 //-*-DiPhoton.cpp-*-ahamil@localhost
0003 //   Written by James Monk and Andrew Pilkington
0004 ////////////////////////////////////////////////////////////////////////////////
0005 
0006 #include "GeneratorInterface/ExhumeInterface/interface/DiPhoton.h"
0007 
0008 ////////////////////////////////////////////////////////////////////////////////
0009 Exhume::DiPhoton::DiPhoton(const edm::ParameterSet& pset) : TwoSpace(pset) {
0010   std::cout << std::endl << "   =DiPhoton production selected=" << std::endl << std::endl;
0011   Partons[0].id = 22;
0012   Partons[1].id = 22;
0013   Partons[0].Colour = 0;
0014   Partons[0].AntiColour = 0;
0015   Partons[1].Colour = 0;
0016   Partons[1].AntiColour = 0;
0017   Inv64PI2 = double(1.0) / (64.0 * M_PI * M_PI);
0018   PI2 = M_PI * M_PI;
0019 
0020   Nup = 2;
0021   Ndown = 2;
0022   MatFact = 4.0 * (2 * double(16.0) / 81 + 2 * double(1.0) / 81) * Inv64PI2;
0023 
0024   Name = "di-photon";
0025   SetThetaMin(acos(0.95));
0026 }
0027 ////////////////////////////////////////////////////////////////////////////////
0028 double Exhume::DiPhoton::MatrixElement() {
0029   //M++++ + M--++ can interfere because of same final states
0030   double _Sigma = -0.5 * (0.5 * (1 + CosTheta * CosTheta)) *
0031                       (log((1.0 - CosTheta) / (1.0 + CosTheta)) * log((1.0 - CosTheta) / (1.0 + CosTheta)) + PI2) -
0032                   CosTheta * log((1.0 - CosTheta) / (1.0 + CosTheta));
0033 
0034   //Total M^2 = 2* above (helicity opposites) plus 2*(M+++- + M--+-)
0035   // note M+++- = M++-+ = 1 (same for helicity opposites
0036   return (2 * _Sigma * _Sigma + 8.0);
0037 }
0038 ////////////////////////////////////////////////////////////////////////////////
0039 
0040 double Exhume::DiPhoton::SubProcess() {
0041   double m_elem_sq = MatrixElement();
0042   double _Sigma = MatFact * (m_elem_sq) / sHat;
0043   _Sigma = _Sigma * AlphaS(SqrtsHat / 2) * AlphaS(SqrtsHat / 2) * AlphaEw * AlphaEw;
0044   return (Gev2fb * _Sigma);
0045 }
0046 
0047 void Exhume::DiPhoton::LIPS2Amp() { return; }
0048 
0049 void Exhume::DiPhoton::Amp2LIPS() { return; }