+++ /dev/null
-void sim(Int_t nev=10) {
- AliSimulation simu;
- //simu.SetMakeSDigits("TRD TOF PHOS HMPID EMCAL FMD PMD T0 ZDC VZERO MUON HLT");
- //simu.SetMakeDigits ("TRD TOF PHOS HMPID EMCAL FMD PMD T0 ZDC VZERO MUON HLT");
- //simu.SetMakeDigitsFromHits("ITS TPC");
- //simu.SetWriteRawData("ALL","raw.root",kTRUE);
- simu.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/?cacheFold=/tmp/CDBCache?operateDisconnected=kFALSE");
-
- // No write access to the OCDB => specific storage
- simu.SetSpecificStorage("GRP/GRP/Data",
- Form("local://%s",gSystem->pwd()));
-
- //simu.SetRunQA(":") ;
- //simu.SetRunHLT("");
- //simu.SetWriteGRPEntry(kFALSE);
-
- //Merge with HIJING
- //Load necessary libraries and connect to the GRID
- gSystem->Load("libNetx.so") ;
- gSystem->Load("libRAliEn.so");
- TGrid::Connect("alien://") ;
-
- //Feed Grid with collection file
- TGridCollection * collection = (TGridCollection*) TAlienCollection::Open("collection.xml");
- if (! collection) {
- AliError(Form("collection: %s not found", kXML)) ;
- return kFALSE ;
- }
- TGridResult* result = collection->GetGridResult("",0 ,0);
- TString alienURL = result->GetKey(0, "turl") ;//split all files in collection, only one is sent per job
- cout << "================== " << alienURL << endl ;
- simu.MergeWith(alienURL);
-
- TStopwatch timer;
- timer.Start();
- simu.Run(nev);
- WriteXsection();
- timer.Stop();
- timer.Print();
-}
-
-WriteXsection()
-{
- TPythia6 *pythia = TPythia6::Instance();
- pythia->Pystat(1);
- Double_t xsection = pythia->GetPARI(1);
- Int_t ntrials = pythia->GetMSTI(5);
-
- TTree *tree = new TTree("Xsection","Pythia cross section");
- TBranch *branch = tree->Branch("xsection", &xsection, "X/D");
- TBranch *branch = tree->Branch("ntrials" , &ntrials , "X/i");
- tree->Fill();
-
- TFile *file = new TFile("pyxsec.root","recreate");
- tree->Write();
- file->Close();
-
- cout << "Pythia cross section: " << xsection
- << ", number of trials: " << ntrials << endl;
-}