#if !defined(__CINT__) #include #include "AliITSDDLRawData.h" #endif /* Before running this macro it is necessary to comment the following line of the method AddDigit in the class AliITSsimulationSDD //if( fResponse->Do10to8() ) signal = Convert8to10( signal ); In this way the amplitude value for signal coming from SDD takes only 8 bits and not 10. */ //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__ } #endif Int_t eventNumber=0; Int_t spdLDCs=2; Int_t sddLDCs=4; Int_t ssdLDCs=2; TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(DigitsFile); if (!file){ file = new TFile(DigitsFile); }//end if file->ls(); // Get AliRun object from file if (!gAlice){ gAlice = (AliRun*)file->Get("gAlice"); if (gAlice)cout<<"AliRun object found on file "<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= "<FillModules(0,0,nmodules," "," "); //cout<<"ITS modules .... DONE!"<Get("TreeD0"); if (TD == 0x0){ ::Error("DDLRawData","Can not find tree with ITS digits"); return; }//end if ITS->SetTreeAddressD(TD); //TTree *TD = gAlice->TreeD(); cout<<"Insert the event number:"; cin>>eventNumber; cout<SetVerbose(0); TStopwatch timer; //SILICON PIXEL DETECTOR cout<<"Formatting data for SPD"<RawDataSPD(ITS,TD,spdLDCs,eventNumber); timer.Stop(); timer.Print(); //ONLY FOR DEBUGGING // util->TestFormat(eventNumber); //SILICON DRIFT DETECTOR cout<<"Formatting data for SDD"<RawDataSDD(ITS,TD,sddLDCs,eventNumber); timer.Stop(); timer.Print(); //SILICON STRIP DETECTOR cout<<"Formatting data for SSD"<RawDataSSD(ITS,TD,ssdLDCs,eventNumber); timer.Stop(); timer.Print(); delete util; return; }