00001 #ifndef ALPGEN_SPEC_H 00002 #define ALPGEN_SPEC_H 00003 00004 #include "HepMC/GenEvent.h" 00005 #include <iostream> 00006 #include <fstream> 00007 #include <cstdlib> 00008 #include <vector> 00009 #include <string> 00010 #include <algorithm> 00011 #include "HepMC/IO_HEPEVT.h" 00012 #include "HepMC/IO_HERWIG.h" 00013 #include "HepMC/IO_GenEvent.h" 00014 #include "HepMC/IO_AsciiParticles.h" 00015 #include "HepMC/GenEvent.h" 00016 00017 //________________________________________________________________________________________ 00018 // LM : add this for FastJet analysis 00019 //---------------------------------------------------------------------------------------- 00020 //#include "fastjet/ClusterSequence.hh" 00021 //#include <fstream> 00022 //---------------------------------------------------------------------------------------- 00023 // end of LM : add this 00024 //________________________________________________________________________________________ 00025 00026 //alpgen-specific common blocks accessible by the user analysis routine: 00027 extern "C" { 00028 //Michelangelo's monitoring common blocks 00029 /*C JETS FROM RADIATION OF LIGHT PARTONS: 00030 C ISVETO=1 EVENT FAILS SINCE THERE ARE FEWER RECONSTRUCTED JETS THAN PARTONS 00031 C NJVETO=NUMBER OF RECONSTRUCTED JETS 00032 C ISVETO=2 EVENT FAILS SINCE NOT ALL PARTONS MATCH A JET 00033 C NJVETO=NUMBER OF MATCHED PARTONS/JETS 00034 C ISVETO=3 EVENT FAILS SINCE THERE ARE ADDITIONAL JETS 00035 C NJVETO= NUMBER OF JETS 00036 C ISVETO=4 EVENT FAILS SINCE MATCHED JETS ARE NOT THE HARDEST (INCLUSIVE CASE) 00037 C NJVETO = HARDEST JET NOT MATCHED (1=HIGHEST ET, 2=2ND...*/ 00038 extern struct{ 00039 int iveto, isveto, njveto; 00040 }mtchstat_; 00041 //n.b. these are filled into HEPRUP 00042 //unwev : # of events in the input file 00043 //avgwgt=input xsection, errwgt=input x-sec. error, totlum=luminosity, 00044 extern struct{ 00045 double maxwgt, avgwgt, errwgt, totlum; 00046 int unwev; 00047 }ahwgts_; 00048 //needed since: alpgen end of LHEF file convention == NUP=0 00049 extern struct { 00050 int NUP,IDPRUP,IDUP[500],ISTUP[500],MOTHUP[500][2],ICOLUP[500][2]; 00051 double XWGTUP,SCALUP,AQEDUP,AQCDUP,PUP[500][5],VTIMUP[500],SPINUP[500]; 00052 } hepeup_; 00053 // # events passing UPVETO, # of UPVETO calls, # events failing UPVETO 00054 extern struct{ 00055 int nvpass, nvcall,nvfail; 00056 }evstat_; 00057 } 00058 00059 // filling HepMC weight container 00060 void fill_eweight(HepMC::GenEvent*); 00061 void fill_exsec(HepMC::GenEvent*); 00062 00063 #endif 00064