-#if !defined(__CINT__) || defined(__MAKECINT__)
-
-#include <iostream.h>
+#if !defined(__CINT__)
+#include <Riostream.h>
#include "AliITSDDLRawData.h"
+#include "AliRunLoader.h"
+#include "AliLoader.h"
+#include "AliITS.h"
#endif
/*
*/
//DigitsFile is the input file that contains digits
-void AliITSDDLRawData(char* DigitsFile="galiceD.root"){
-#ifdef __NOCOMPILED__
- if (gClassTable->GetID("AliRun") < 0) {
- gROOT->LoadMacro("loadlibs.C");
- loadlibs();
- }
- else {
-#endif
- if(gAlice){
- delete gAlice;
- gAlice=0;
- }
-#ifdef __NOCOMPILED__
+void AliITSDDLRawData(Int_t eventNumber=0){
+
+ Int_t spdLDCs=2;
+ Int_t sddLDCs=4;
+ Int_t ssdLDCs=2;
+ Int_t eventn=0;
+ const char * inFile_new = "galice.root";
+ AliRunLoader *rl = AliRunLoader::Open(inFile_new,"Event","read");
+ rl->LoadgAlice();
+ gAlice=rl->GetAliRun();
+ Int_t nevents=rl->GetNumberOfEvents();
+ cout<<"Number of Events:"<<nevents<<endl;
+ while (eventNumber<=0 || eventNumber>nevents){
+ cout<<"Insert the event number:";
+ cin>>eventNumber;
+ cout<<endl;
}
-#endif
- TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(DigitsFile);
- if (!file){
- file = new TFile(DigitsFile);
- }//end if
- file->ls();
+ rl->GetEvent(eventNumber-1);
+ AliLoader *itsloader=rl->GetLoader("ITSLoader");
+ itsloader->LoadDigits();
+ TTree *TD=itsloader->TreeD();
+ gAlice=rl->GetAliRun();
+ if(!gAlice){
+ cout<<"gAlice is null"<<endl;
+ return;
+ }
+ AliITS *ITS = (AliITS*)gAlice->GetDetector("ITS");
+
+ Int_t nmodules;
+ ITS->InitModules(-1,nmodules);
+ ITS->GetDetTypeSim()->SetTreeAddressD(TD,"ITS");
- // Get AliRun object from file
- if (!gAlice){
- gAlice = (AliRun*)file->Get("gAlice");
- if (gAlice)cout<<"AliRun object found on file "<<DigitsFile<<endl;
- if(!gAlice){
- cout<<"Can't access AliRun object on file "<<DigitsFile<<endl;
- cout<<"Macro execution stopped!!!"<<endl;
- exit(1);
- }//end if
- }//end if
- gAlice->SetTreeDFileName(DigitsFile);
- // Long_t nparticles = gAlice->GetEvent(0);
-
- //Int_t nparticles = gAlice->GetEvent(0);
- //
- // ITS
- AliITS *ITS = (AliITS*)gAlice->GetModule("ITS");
- Int_t nmodules;
- ITS->InitModules(-1,nmodules);
- cout<<"Number of ITS modules= "<<nmodules<<endl;
- //cout<<"Filling modules... It takes a while, now. Please be patient"<<endl;
- //ITS->FillModules(0,0,nmodules," "," ");
- //cout<<"ITS modules .... DONE!"<<endl;
- // DIGITS
-
-
- TTree* TD = (TTree*)file->Get("TreeD0");
- if (TD == 0x0){
- ::Error("DDLRawData","Can not find tree with ITS digits");
- return;
- }//end if
- ITS->SetTreeAddressD(TD);
-
-
- //TTree *TD = gAlice->TreeD();
-
AliITSDDLRawData *util=new AliITSDDLRawData();
//Verbose level
// 0: Silent
//SILICON PIXEL DETECTOR
cout<<"Formatting data for SPD"<<endl;
timer.Start();
- util->RawDataSPD(ITS,TD);
- // util->RawDataSPD(ITS,TD,20);
+ util->RawDataSPD(ITS,TD,spdLDCs,eventNumber);
timer.Stop();
timer.Print();
//ONLY FOR DEBUGGING
- util->TestFormat();
+ // util->TestFormat(eventNumber);
//SILICON DRIFT DETECTOR
cout<<"Formatting data for SDD"<<endl;
timer.Start();
- //util->RawDataSDD(ITS,TD,12);
- util->RawDataSDD(ITS,TD);
+ util->RawDataSDD(ITS,TD,sddLDCs,eventNumber);
timer.Stop();
timer.Print();
//SILICON STRIP DETECTOR
cout<<"Formatting data for SSD"<<endl;
timer.Start();
- //util->RawDataSSD(ITS,TD,16);
- util->RawDataSSD(ITS,TD);
+ util->RawDataSSD(ITS,TD,ssdLDCs,eventNumber);
timer.Stop();
timer.Print();
delete util;
+
return;
}