CDF II
CDF KITS
source navigation ]
diff markup ]
identifier search ]
freetext search ]
file search ]
 
Architecture: i386 ]
Version: 4.10.4 ] [ 4.10.5 ] [ 4.8.4 ] [ 4.8.4l3s ] [ 4.8.5 ] [ 4.9.0 ] [ 4.9.1 ] [ 4.9.1.hpt3 ] [ 4.9.1hpt3 ] [ 4.9.1top1 ] [ 5.0.0 ] [ 5.1.0 ] [ 5.1.0beamonly ] [ 5.1.1 ] [ 5.2.0 ] [ 5.3.0 ] [ 5.3.1 ] [ 5.3.1dsp ] [ 5.3.3 ] [ 5.3.3_nt ] [ 5.3.4 ] [ 6.1.1 ] [ 6.1.1b ] [ 6.1.2 ] [ 6.1.3 ] [ 6.1.4 ] [ 6.1.4int3 ] [ 6.1.4mc ] [ 6.1.4mc_a ] [ 6.1.6 ] [ development ]

001 #ifndef _WGRAD_MODULE_HH
002 #define _WGRAD_MODULE_HH
003 
004 // Declarations for Fortran routines usesed by this class
005 extern "C" {
006   //  First the routines to set parameters from talk-to :  
007   void wgrad_set_external_();
008   void wgrad_use_pythia_(int wgrad_use_pythia[]);
009   void wgrad_set_switches_(int ppswitches[]);
010   void wgrad_set_soft_collinear_cuts_(double soft_coll_cuts[]);
011   void wgrad_set_pdflib_(int pdflib_choice[]);
012   void wgrad_set_properties_(double properties[]);
013   void wgrad_set_kinematic_cuts_(double kinematic_cuts[]);
014   void wgrad_set_grid_pars_(int grid_pars[]);
015   void wgrad_set_rndm_seed_(int rndm_seed[]);
016                           
017   // Perform the grid search and precision calculation :
018   void wgrad_begin_();
019 
020   // Generate a single unweighted event :
021   void wgrad_evt_();
022 
023   // Print some information and finish :
024   void wgrad_end_();
025 
026   // Pythia interface routines (one per Pythia common block) :
027   // void wgrad_pythia_set_mstj_(int wgrad_pythia_mstj[]);
028   // void wgrad_pythia_set_mrpy_(int wgrad_pythia_mrpy[]);
029   // void wgrad_pythia_set_mstp_(int wgrad_pythia_mstp[]);
030   // void wgrad_pythia_set_parp_(double wgrad_pythia_par[]);
031 
032   // Extract the event weight from WGRAD :
033   void wgrad_get_event_weight_(double wgrad_event_weight[]);
034 
035   // Access the WGRAD common blocks in case Pythia is not run :
036   void wgrad_get_particle_codes_(int wgrad_particle_codes[]);
037   void wgrad_get_charged_lepton_(double wgrad_charged_lepton[]);
038   void wgrad_get_neutrino_(double wgrad_neutrino[]);
039   void wgrad_get_photon_(double wgrad_photon[]);
040 }
041 
042 //----------------------
043 // Base Class Headers --
044 //----------------------
045 #include "Framework/APPModule.hh"
046 #include "Framework/AbsParmBool.hh"
047 #include "Framework/AbsParmFilename.hh"
048 #include "Framework/APPMenu.hh"
049 #include "generatorMods/PythiaSetCommands.hh"
050 #include "generatorMods/PythiaShowCommands.hh"
051 #include "generatorMods/AbsGenModule.hh"
052 #include "generatorMods/PythiaMenu.hh"
053 #include "Framework/AbsParmGeneral.hh"
054 typedef AbsParmGeneral<long> AbsParmGeneral_long;
055 
056 #ifdef CDF
057 #include "BaBar/Cdf.hh"
058 #endif
059 //              ---------------------
060 //              -- Class Interface --
061 //              ---------------------
062 
063 class WGRAD_Module : public AbsGenModule {
064 
065 //--------------------
066 // Instance Members --
067 //--------------------
068 
069 public:
070 
071   static const char* genId;
072 
073   // Constructors
074   WGRAD_Module();
075   
076  // Destructor
077   virtual ~WGRAD_Module();
078   
079   // Operations
080   AppResult  genBeginJob  ();
081   AppResult  genBeginRun  (AbsEvent* run);
082   AppResult  genEndJob    ();
083   AppResult  genEndRun    (AbsEvent* run );
084   int        callGenerator(AbsEvent* event);
085   void fillHepevt();
086 
087 private:
088 
089   // Random number menu
090   APPMenu _randomNumberMenu;
091   
092   // Initial random number seeds (2) (ignored if restoreState is requested)
093   AbsParmGeneral_long _randomSeed1;
094   static const   long _defaultRandomSeed1;
095   AbsParmGeneral_long _randomSeed2;
096   static const   long _defaultRandomSeed2;
097   
098 
099   // Debug flag :
100   AbsParmBool _debug;
101 
102   // Use Pythia ?
103   AbsParmBool _usePythia;
104 
105   // Use Les Houches Module ?
106   AbsParmBool _useLesHouchesModule;
107 
108   // -----------------------------------------------------
109   // DSW 14.8.99
110   // Talk-to parameters to replace input cards file :
111   // ================================================
112   // 1: p pbar collider 2: pp collider
113   AbsParmGeneral<int> _beamType;
114   // 1: W+ production, 2: W- production
115   AbsParmGeneral<int> _W_charge;
116   // 1: constant W width, 2: s-dependent W width
117   AbsParmGeneral<int> _widthTreatment;
118   // 1: electron, 2: muon
119   AbsParmGeneral<int> _decayLepton;
120   // 1: initial, 2: final, 4: all
121   AbsParmGeneral<int> _QED_radType;
122   // final state: 1: full, 2: a la Berends et al.
123   AbsParmGeneral<int> _fsrType;
124   // 0: no s.,no r., 1: with s,no r., 2: with s.,with r.
125   AbsParmGeneral<int> _smearingRecombination;
126   // 0:LO only; 1:NLO-LO ; 2:NLO
127   AbsParmGeneral<int> _order;
128   // 0:mu=MW, 1: mu=.5*MW, 2: mu=2*MW.
129   AbsParmGeneral<int> _scale;
130   // final state: without coll. cut (0), with (1)
131   AbsParmGeneral<int> _fsrCollinearCut;
132   // delta_s (photon energy cut)
133   AbsParmGeneral<double> _photonEnergyCut;
134   // delta_c (collinear cut)
135   AbsParmGeneral<double> _photonCollinearCut;
136   // pdflib group
137   AbsParmGeneral<int> _pdflibGroup;
138   // pdflib choice
139   AbsParmGeneral<int> _pdflibSet;
140   // W mass :
141   AbsParmGeneral<double> _wMass;
142   // W width :
143   AbsParmGeneral<double> _wWidth;
144   // Center of mass energy :
145   AbsParmGeneral<double> _CME;
146   // ptmin for lepton 
147   AbsParmGeneral<double> _lepton_ptmin;
148   // ymax for lepton 
149   AbsParmGeneral<double> _lepton_ymax;
150   // ptmin for neutrino
151   AbsParmGeneral<double> _neutrino_ptmin;
152   // ymax for neutrino
153   AbsParmGeneral<double> _neutrino_ymax;
154   // ptmin for photon
155   AbsParmGeneral<double> _photon_ptmin;
156   // ymax for photon
157   AbsParmGeneral<double> _photon_ymax;
158   // Transverse mass lower limit :
159   AbsParmGeneral<double> _tmass_low;
160   // Transverse mass upper limit :
161   AbsParmGeneral<double> _tmass_high;
162   // itmax for grid calculation.
163   AbsParmGeneral<int> _itmaxGrid;
164   // ncall for grid calculation.
165   AbsParmGeneral<int> _ncallGrid;
166   // itmax for precision calculation.
167   AbsParmGeneral<int> _itmaxPrecision;
168   // ncall for precision calculation.
169   AbsParmGeneral<int> _ncallPrecision;
170   // Random number seed :
171   AbsParmGeneral<int> _rndmSeed;
172 
173   APPMenu _cardsMenu;
174 
175   // For WGRAD-Pythia interface :
176   // AbsParmGeneral<int> _mstj_41;
177   // AbsParmGeneral<int> _mrpy_1;
178   // AbsParmGeneral<int> _mstp_81;
179   // AbsParmGeneral<int> _mstp_91;
180   // AbsParmGeneral<int> _mstp_111;
181   // AbsParmGeneral<double> _parp_91;
182   // AbsParmGeneral<double> _parp_92;
183   // AbsParmGeneral<double> _parp_93;
184 
185   APPMenu _pythiaInterfaceMenu;
186   // -----------------------------------------------------
187 
188   PythiaMenu* _pythiaMenu;
189 
190 
191 private:
192 
193   WGRAD_Module(const char* name, 
194                const char* description) :
195     AbsGenModule( WGRAD_Module::genId, 
196                   "W production including O(alpha) EW radiative corrections"),
197     _debug("debug",this,false),
198     _usePythia("usePythia",this,true),
199     _useLesHouchesModule("useLesHouchesModule",this,false),
200     _beamType("BeamType",this,1),
201     _W_charge("W_Charge",this,1),
202     _widthTreatment("widthTreatment",this,2),
203     _decayLepton("DecayLepton",this,2),
204     _QED_radType("QED_RadType",this,2),
205     _fsrType("fsrType",this,1),
206     _smearingRecombination("SmearingRecombination",this,0),
207     _order("Order",this,2),
208     _scale("Scale",this,0),
209     _fsrCollinearCut("fsrCollinearCut",this,0),
210     _photonEnergyCut("PhotonEnergyCut",this,0.0001),
211     _photonCollinearCut("PhotonCollinearCut",this,0.0001),
212     _pdflibGroup("pdflibGroup",this,3),
213     _pdflibSet("pdflibSet",this,54),
214     _wMass("W_Mass",this,80.3),
215     _wWidth("W_Width",this,2.1),
216     _CME("CME",this,2000.0),
217     _lepton_ptmin("Lepton_ptmin",this,0.),
218     _lepton_ymax("Lepton_ymax",this,100.),
219     _neutrino_ptmin("Neutrino_ptmin",this,0.),
220     _neutrino_ymax("Neutrino_ymax",this,100.),
221     _photon_ptmin("Photon_ptmin",this,0.),
222     _photon_ymax("Photon_ymax",this,100.),
223     _tmass_low("mT_low",this,0.),
224     _tmass_high("mT_high",this,2000.),
225     _itmaxGrid("itmaxGrid",this,1),
226     _ncallGrid("ncallGrid",this,2000),
227     _itmaxPrecision("itmaxPrecision",this,2),
228     _ncallPrecision("ncallPrecision",this,5000),
229     _rndmSeed("randomSeed",this,4567),
230     // _mstj_41("mstj(41)",this,-1),
231     // _mrpy_1("mrpy(1)",this,-1),
232     // _mstp_81("mstp(81)",this,-1),
233     // _mstp_91("mstp(91)",this,-1),
234     // _mstp_111("mstp(111)",this,-1),
235     // _parp_91("parp(91)",this,-1.0),
236     // _parp_92("parp(92)",this,-1.0),
237     // _parp_93("parp(93)",this,-1.0)  ,
238     _randomSeed1("RandomSeed",this,0),
239     _randomSeed2("RandomSeed",this,0) ,
240     _pythiaMenu()
241   {}
242 
243   WGRAD_Module(const WGRAD_Module& m)
244     :
245     AbsGenModule( "x", "x" ),
246     _debug("debug",this,false),
247     _usePythia("usePythia",this,true),
248     _useLesHouchesModule("useLesHouchesModule",this,false),
249     _beamType("BeamType",this,1),
250     _W_charge("W_Charge",this,1),
251     _widthTreatment("widthTreatment",this,2),
252     _decayLepton("DecayLepton",this,2),
253     _QED_radType("QED_RadType",this,2),
254     _fsrType("fsrType",this,1),
255     _smearingRecombination("SmearingRecombination",this,0),
256     _order("Order",this,2),
257     _scale("Scale",this,0),
258     _fsrCollinearCut("fsrCollinearCut",this,0),
259     _photonEnergyCut("PhotonEnergyCut",this,0.0001),
260     _photonCollinearCut("PhotonCollinearCut",this,0.0001),
261     _pdflibGroup("pdflibGroup",this,3),
262     _pdflibSet("pdflibSet",this,54),
263     _wMass("W_Mass",this,80.3),
264     _wWidth("W_Width",this,2.1),
265     _CME("CME",this,2000.0),
266     _lepton_ptmin("Lepton_ptmin",this,0.),
267     _lepton_ymax("Lepton_ymax",this,100.),
268     _neutrino_ptmin("Neutrino_ptmin",this,0.),
269     _neutrino_ymax("Neutrino_ymax",this,100.),
270     _photon_ptmin("Photon_ptmin",this,0.),
271     _photon_ymax("Photon_ymax",this,100.),
272     _tmass_low("mT_low",this,0.),
273     _tmass_high("mT_high",this,2000.),
274     _itmaxGrid("itmaxGrid",this,1),
275     _ncallGrid("ncallGrid",this,2000),
276     _itmaxPrecision("itmaxPrecision",this,2),
277     _ncallPrecision("ncallPrecision",this,5000),
278     _rndmSeed("randomSeed",this,4567),
279     //_mstj_41("mstj(41)",this,-1),
280     //_mrpy_1("mrpy(1)",this,-1),
281     //_mstp_81("mstp(81)",this,-1),
282     //_mstp_91("mstp(91)",this,-1),
283     //_mstp_111("mstp(111)",this,-1),
284     ////_parp_91("parp(91)",this,-1.0),
285     //_parp_92("parp(92)",this,-1.0),
286     //_parp_93("parp(93)",this,-1.0)  ,
287     _randomSeed1("RandomSeed",this,0),
288     _randomSeed2("RandomSeed",this,0),
289     _pythiaMenu()
290   {}
291 
292 };
293 
294 #endif

source navigation ] diff markup ] identifier search ] freetext search ] file search ]

This page was automatically generated by the LXR engine.
The LXR team
Valid HTML 4.01!

Send problems or questions to cdfcode@fnal.gov