ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dasu/UltraFastSim/generateData.cc
(Generate patch)

Comparing UserCode/dasu/UltraFastSim/generateData.cc (file contents):
Revision 1.1 by dasu, Wed Feb 9 05:39:29 2011 UTC vs.
Revision 1.5 by dasu, Tue Feb 15 06:49:11 2011 UTC

# Line 14 | Line 14 | using namespace std;
14   using namespace Pythia8;
15  
16   #include "UltraFastSim.h"
17 + #include "Analysis.h"
18  
19   int main(int argc, char **argv) {
20    // Generator. Process selection. LHC initialization. Histogram.
# Line 23 | Line 24 | int main(int argc, char **argv) {
24    int meanPileupEventCount = 0;
25    if(argc < 3 || argc > 5)
26      {
27 +      cerr << "Command syntax: " << argv[0] << " BBH[...]" << " <nEvents> [RandomSeed] [meanPileupEventCount]" << endl;
28        cerr << "Command syntax: " << argv[0] << " BBA[...]" << " <nEvents> [RandomSeed] [meanPileupEventCount]" << endl;
29        cerr << "or              " << argv[0] << " ZLL[...]" << " <nEvents> [RandomSeed] [meanPileupEventCount]" << endl;
30 +      cerr << "or              " << argv[0] << " ZMM[...]" << " <nEvents> [RandomSeed] [meanPileupEventCount]" << endl;
31        cerr << "or              " << argv[0] << " TLN[...]" << " <nEvents> [RandomSeed] [meanPileupEventCount]" << endl;
32        cerr << "or              " << argv[0] << " WLN[...]" << " <nEvents> [RandomSeed] [meanPileupEventCount]" << endl;
33        exit(1);
# Line 43 | Line 46 | int main(int argc, char **argv) {
46          pythia.readString("15:onMode = 2");       // tau- decays to electrons and muons - second tau decays in all modes
47          pythia.readString("15:onIfAny = 11 13");
48        }
49 +    else if(strncmp(argv[1], "ZMM", 3) == 0)
50 +      {
51 +        pythia.readString("WeakSingleBoson:ffbar2gmZ = on");
52 +        pythia.readString("PhaseSpace:mHatMin = 60.");    
53 +        pythia.readString("PhaseSpace:mHatMax = -1");    
54 +        pythia.readString("23:onMode = 0");       // Z decays to muons only
55 +        pythia.readString("23:onIfAny = 13");
56 +      }
57      else if(strncmp(argv[1], "WLN", 3) == 0)
58        {
59          pythia.readString("WeakSingleBoson:ffbar2W = on");
# Line 55 | Line 66 | int main(int argc, char **argv) {
66          pythia.readString("24:onMode = 2");       // W+ decays to light leptons only
67          pythia.readString("24:onIfAny = 11 13");
68        }
69 <    else if(strncmp(argv[1], "BBA", 3) == 0)
69 >    else if(strncmp(argv[1], "ZH", 2) == 0)
70 >      {
71 >        pythia.readString("HiggsSM:ffbar2HZ = on");
72 >        pythia.readString("25:m0 = 120");
73 >        pythia.readString("25:onMode = 0");      // Higgs decays to bbBar only
74 >        pythia.readString("25:onIfAny = 5");
75 >        pythia.readString("23:onMode = 0");      // Z decays to mu+,mu- only (for trigger)
76 >        pythia.readString("23:onIfAny = 13");
77 >      }
78 >    else if(strncmp(argv[1], "BB", 2) == 0)
79        {
80          pythia.readString("Higgs:useBSM = on");
81 <        pythia.readString("HiggsBSM:gg2A3bbbar = on");
81 >        if(strncmp(argv[1], "BBH", 3) == 0)
82 >          pythia.readString("HiggsBSM:gg2H2bbbar = on");
83 >        else
84 >          pythia.readString("HiggsBSM:gg2A3bbbar = on");
85 >        pythia.readString("25:m0 = 129");
86 >        pythia.readString("35:m0 = 499.7");
87 >        pythia.readString("36:m0 = 500");
88 >        pythia.readString("37:m0 = 506");
89 >        pythia.readString("HiggsHchg:tanBeta = 30");
90 >        pythia.readString("35:onMode = 0");      // H2(H_2) decays only to tau-pairs
91 >        pythia.readString("35:onIfAny = 15");
92          pythia.readString("36:onMode = 0");      // A0(H_3) decays only to tau-pairs
93          pythia.readString("36:onIfAny = 15");
94        }
# Line 86 | Line 116 | int main(int argc, char **argv) {
116    // Ultra Fast Simulator
117  
118    UltraFastSim ufs(rndmPtr);
119 +  Analysis analysis(argv[1], &ufs);
120  
121    // Begin event loop
122    for (int iEvent = 0; iEvent < nEvents; ) {
# Line 93 | Line 124 | int main(int argc, char **argv) {
124      // Generate event. Skip if error. List first one.
125      if (!pythia.next()) continue;
126  
127 +    if(iEvent < 10) pythia.event.list();
128 +
129      // Add pileup
130  
131      int pileupEventCount = 0;
# Line 120 | Line 153 | int main(int argc, char **argv) {
153          exit(1);
154        }
155  
156 +    cout << "Number of Gen Chrgd = " << ufs.chargedHadronList().size() << endl;
157 +    cout << "Number of Gen Neutr = " << ufs.neutralHadronList().size() << endl;
158 +    cout << "Number of Gen Phtns = " << ufs.photonList().size() << endl;
159 +    cout << "Number of Gen Elcns = " << ufs.electronList().size() << endl;
160 +    cout << "Number of Gen Muons = " << ufs.muonList().size() << endl;
161 +    cout << "Number of Gen Taus =  " << ufs.genTauList().size() << endl;
162 +    cout << "Number of taus =      " << ufs.tauList().size() << endl;
163 +    cout << "Number of c Quarks =  " << ufs.cQuarkList().size() << endl;
164 +    cout << "Number of b Quarks =  " << ufs.bQuarkList().size() << endl;
165 +    cout << "Number of Jets =      " << ufs.jetList().size() << endl;
166 +    cout << "Number of bJets =     " << ufs.bJetList().size() << endl;
167 +    cout << endl;
168 +
169 +    // Run analysis
170 +
171 +    if(!analysis.run())
172 +      {
173 +        cerr << "Analysis failed - aborting" << endl;
174 +        exit(2);
175 +      }
176 +
177      // End of event loop. Statistics. Histogram. Done.
178  
179      if(!(iEvent % 100)) cout << "Processed event " << iEvent << endl;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines