#include "AliGenEventHeader.h"
#include "AliRun.h"
#include "AliPDG.h"
+#include "AliLoader.h"
+#include "AliRunLoader.h"
#include <stdlib.h>
-#include <iostream.h>
-#include <fstream.h>
+#include <Riostream.h>
+#include <Riostream.h>
ClassImp(AliSTARTDigitizer)
void AliSTARTDigitizer::Exec(Option_t* option)
{
- cout<<" AliSTARTDigitizer::Exec"<<endl;
+
+ AliRunLoader *inRL, *outRL;//in and out Run Loaders
+ AliLoader *ingime, *outgime;// in and out ITSLoaders
+
+ outRL = AliRunLoader::GetRunLoader(fManager->GetOutputFolderName());
+ outgime = outRL->GetLoader("STARTLoader");
+
#ifdef DEBUG
cout<<"AliSTARTDigitizer::>SDigits2Digits start...\n";
#endif
Int_t hit, nhits;
Int_t CountEr[13],CountEl[13]; //!!!
Int_t volume,pmt,tr,tl,sumRight;
- char nameDigits[20];
Float_t timediff,timeav;
Float_t besttimeright,besttimeleft,meanTime;
Int_t bestRightADC,bestLeftADC;
Float_t timeleft[13]={13*0};
Float_t channelWidth=2.5; //ps
Int_t channelWidthADC=1; //ps
- Int_t thresholdAmpl=10;
+ // Int_t thresholdAmpl=10;
ftimeRightTDC = new TArrayI(12);
ftimeLeftTDC = new TArrayI(12);
CountEr[i0]=0; CountEl[i0]=0;
}
TClonesArray *STARThits = START->Hits ();
+
+ inRL = AliRunLoader::GetRunLoader(fManager->GetInputFolderName(inputFile));
+ ingime = inRL->GetLoader("STARTLoader");
+ ingime->LoadHits("READ");//probably it is necessary to load them before
TClonesArray *STARThitsPhotons = START->Photons ();
- TTree *th = fManager->GetInputTreeH(inputFile);
+
+ TTree *th = ingime->TreeH();
brHits = th->GetBranch("START");
brHitPhoton = th->GetBranch("STARThitPhoton");
if (brHits) {
besttimerightGaus=gRandom->Gaus(besttimeright,0.05);
// cout<<" besttimerightGaus "<<besttimerightGaus<<endl;
- bestRightADC=(Int_t) besttimerightGaus*1000/channelWidth;
+ bestRightADC=Int_t (besttimerightGaus*1000/channelWidth);
Float_t koef=69.7/350.;
besttimeleft=koef*besttimeleft;
besttimeleftGaus=gRandom->Gaus(besttimeleft,0.05);
- bestLeftADC=(Int_t) besttimeleftGaus*1000/channelWidth;
+ bestLeftADC=Int_t (besttimeleftGaus*1000/channelWidth);
timediff=besttimerightGaus-besttimeleftGaus;
cout<<" timediff in ns "<<timediff<<" z= "<<timediff*30<<endl;
meanTime=(besttimerightGaus+besttimeleftGaus)/2.;
}
else
{timeAv=999999; timeDiff=99999;}
-
- // trick to find out output dir:
- TTree *outTree = fManager->GetTreeD();
- if (!outTree) {
- cerr<<"something wrong with output...."<<endl;
- exit(111);
- }
-
- TDirectory *wd = gDirectory;
- outTree->GetDirectory()->cd();
- sprintf(nameDigits,"START_D_%d",fManager->GetOutputEventNr());
- fdigits->Write(nameDigits);
- cout<<nameDigits<<endl;
- wd->cd();
+
+// trick to find out output dir:
+ outgime->WriteDigits("OVERWRITE");
}
}