Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef GeneratorInterface_AlpgenInterface_AlpgenHeader_h
0002 #define GeneratorInterface_AlpgenInterface_AlpgenHeader_h
0003 
0004 #include <string>
0005 #include <vector>
0006 #include <map>
0007 
0008 /// A structure that can parse and represent the contents
0009 /// of an ALPGEN _unw.par run information file.
0010 struct AlpgenHeader {
0011   enum Parameter {
0012     ih2 = 2,
0013     ebeam = 3,
0014     ndns = 4,
0015     iqopt = 5,
0016     qfac = 6,
0017     ickkw = 7,
0018     ktfac = 8,
0019     njets = 10,
0020     ihvy = 11,
0021     ihvy2 = 12,
0022     nw = 13,
0023     nz = 14,
0024     nh = 15,
0025     nph = 16,
0026     ptjmin = 30,
0027     ptbmin = 31,
0028     ptcmin = 32,
0029     ptlmin = 33,
0030     metmin = 34,
0031     ptphmin = 35,
0032     etajmax = 40,
0033     etabmax = 41,
0034     etacmax = 42,
0035     etalmax = 43,
0036     etaphmax = 44,
0037     drjmin = 50,
0038     drbmin = 51,
0039     drcmin = 52,
0040     drlmin = 55,
0041     drphjmin = 56,
0042     drphlmin = 57,
0043     drphmin = 58,
0044     mllmin = 61,
0045     mllmax = 62,
0046     iseed1 = 90,
0047     iseed2 = 91,
0048     itopprc = 102,
0049     cluopt = 160,
0050     iseed3 = 190,
0051     iseed4 = 191
0052   };
0053 
0054   /// Function to return the human-readable
0055   /// names of ALPGEN parameters.
0056   static std::string parameterName(Parameter index);
0057 
0058   enum Masses { mc = 0, mb, mt, mw, mz, mh, MASS_MAX };
0059 
0060   /// A function to parse a std::<vector<std::string> containing
0061   /// a _unw.par ALPGEN file, and store it in the internal structure.
0062   bool parse(const std::vector<std::string>::const_iterator &begin,
0063              const std::vector<std::string>::const_iterator &end);
0064 
0065   std::map<Parameter, double> params;
0066   unsigned int ihrd;
0067   double xsec;
0068   double xsecErr;
0069   double nEvents;
0070   double lumi;
0071   double masses[MASS_MAX];
0072 };
0073 
0074 #include "GeneratorInterface/AlpgenInterface/interface/AlpgenCommonBlocks.h"
0075 
0076 #endif  // GeneratorInterface_AlpgenInterface_AlpgenHeader_h