#include <iostream>
+#include <TROOT.h>
#include <TDatabasePDG.h>
#include <TRandom.h>
#include <TF1.h>
void AliToyMCEventGeneratorSimple::SetParametersToyGen(const Char_t* parfilename/*="files/params.root*/, Double_t vertexMean/*=0*/, Double_t vertexSigma/*=7.*/) {
fVertexMean = vertexMean;
fVertexSigma = vertexSigma;
- fParamFile = new TFile(parfilename, "read");
- fHPt = (TH1F*) fParamFile->Get("hPt");
- fHEta = (TH1F*) fParamFile->Get("hEta");
- fHMult = (TH1I*) fParamFile->Get("hMult") ;
+// fParamFile = new TFile(parfilename, "read");
+ TFile f(parfilename);
+ gROOT->cd();
+ fHPt = (TH1F*) f.Get("hPt");
+ fHEta = (TH1F*) f.Get("hEta");
+ fHMult = (TH1I*) f.Get("hMult") ;
fHistosSet = kTRUE;
+ f.Close();
}
AliToyMCEvent* AliToyMCEventGeneratorSimple::Generate(Double_t time)
{
//
+ // Generate an event at 'time'
//
- //
+
+ // iterate over space charge maps in case they are set
+ IterateSC();
AliToyMCEvent *retEvent = new AliToyMCEvent();
retEvent->SetT0(time);
for (Int_t ievent=0; ievent<nevents; ++ievent){
printf("Generating event %3d (%.3g)\n",ievent,eventTime);
fEvent = Generate(eventTime);
+ SetSCScalingFactor();
FillTree();
delete fEvent;
fEvent=0x0;
if(equalSpacing) {
printf("Generating event %3d (%.3g)\n",nGeneratedEvents,eventTime);
fEvent = Generate(eventTime);
+ SetSCScalingFactor();
nGeneratedEvents++;
FillTree();
delete fEvent;
for(Int_t iColl = 0; iColl<nCollsInCrossing; iColl++){
printf("Generating event %3d (%.3g)\n",nGeneratedEvents,eventTime);
fEvent = Generate(eventTime);
+ SetSCScalingFactor();
nGeneratedEvents++;
FillTree();
delete fEvent;
fInputIndex = 0;
- return fESDTree->GetEntries();
gRandom->SetSeed();
+ return fESDTree->GetEntries();
}
//test that enough tracks will pass cuts (and that there is tracks at all)
Bool_t testEvent = kTRUE;
+
+ // iterate over space charge maps in case they are set
+ IterateSC();
while(fESDTree->GetEvent(fInputIndex) && testEvent) {
Int_t nPassedCuts = 0;
//
// Generate an Event with laser tracks
//
+
+ // iterate over space charge maps in case they are set
+ IterateSC();
AliToyMCEvent *retEvent = new AliToyMCEvent();
retEvent->SetEventType(AliToyMCEvent::kLaser);