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.10 by dasu, Fri Feb 18 05:06:02 2011 UTC vs.
Revision 1.15 by dasu, Mon Feb 28 11:13:18 2011 UTC

# Line 13 | Line 13 | using namespace std;
13   #include "Pythia.h"
14   using namespace Pythia8;
15  
16 #include "TROOT.h"
17 #include "TFile.h"
18
16   #include "UltraFastSim.h"
17 < #include "bbHAnalysis.h"
21 < #include "ZHAnalysis.h"
17 > #include "UFSDataStore.h"
18  
19   int main(int argc, char **argv) {
20    // Generator. Process selection. LHC initialization. Histogram.
# Line 172 | Line 168 | int main(int argc, char **argv) {
168        }
169    }
170  
175  string name(argv[1]);
176  name += ".root";
177  TFile *outFile = TFile::Open(name.c_str(), "recreate");
178
171    // Initialize pythia
172  
173    pythia.init( 2212, 2212, 14000.);
# Line 192 | Line 184 | int main(int argc, char **argv) {
184  
185    // Ultra Fast Simulator
186  
187 <  UltraFastSim ufs(rndmPtr);
188 <  bbHAnalysis bbH(outFile, &pythia, &ufs, true);
189 <  ZHAnalysis ZH(outFile, &pythia, &ufs, true);
187 >  UltraFastSim ufs;
188 >  char jobName[256];
189 >  sprintf(jobName, "%s-%4.4d", argv[1], runNumber);
190 >  UFSDataStore dataStore(jobName, &ufs);
191  
192    // Begin event loop
193    for (int iEvent = 0; iEvent < nEvents; ) {
# Line 210 | Line 203 | int main(int argc, char **argv) {
203      if(meanPileupEventCount > 0) pileupEventCount = meanPileupEventCount; // * rmdmPtr->pois(); (not available yet)
204      for (int puEvent = 0; puEvent < pileupEventCount; ) {
205        if(!pileupPythia.next()) continue;
206 +      double vx = rndmPtr->gauss()*2.; // Mean beam spread is 2 mm in x-y and 75 mm in z
207 +      double vy = rndmPtr->gauss()*2.;
208 +      double vz = rndmPtr->gauss()*75.;
209        for(int i = 0; i < pileupPythia.event.size(); i++) {
210          Particle& particle = pileupPythia.event[i];
211 +        particle.xProd(vx+particle.xProd());
212 +        particle.yProd(vy+particle.yProd());
213 +        particle.zProd(vz+particle.zProd());
214          if(particle.status() > 0) {
215            if(particle.isVisible()) {
216              if(particle.pT() > 0.5) {
# Line 225 | Line 224 | int main(int argc, char **argv) {
224  
225      // Ultra fast simulation
226  
227 <    if(!ufs.run(pythia.event))
227 >    if(!ufs.run(pythia.event, rndmPtr))
228        {
229          cerr << "Ultra fast simulation failed - aborting" << endl;
230          exit(1);
231        }
232  
233 <    // Run bbHAnalysis
235 <
236 <    if(!bbH.run())
237 <      {
238 <        cerr << "bbH Analysis failed - aborting" << endl;
239 <        exit(2);
240 <      }
241 <
242 <    // Run ZHAnalysis
233 >    // Store data
234  
235 <    if(!ZH.run())
235 >    if(!dataStore.run())
236        {
237 <        cerr << "ZH Analysis failed - aborting" << endl;
237 >        cerr << "Failed to store data" << endl;
238          exit(3);
239        }
240  
# Line 259 | Line 250 | int main(int argc, char **argv) {
250    pythia.statistics();
251    pileupPythia.statistics();
252  
262  bbH.end();
263  ZH.end();
264
265  outFile->cd();
266  outFile->Write();
267  outFile->Close();
268
253    return 0;
254  
255   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines