2 a very basic test macro for processing LED events with AliCaloCalibSignal
5 #define AliDebugLevel() -1
7 void EMCALLEDda(const int runno = 476){
11 /* log start of process */
12 printf("EMCAL DA started - %s\n",__FILE__);
14 AliCaloCalibSignal * calibSignal = new
15 AliCaloCalibSignal(AliCaloCalibSignal::kEmCal); // pedestal and noise calibration
18 // Assume we are just interested in the 1st segment, _0.root below for fname*
20 sprintf(fname, "/local/data/Run_%09d.Seq_1A.Stream_0.root",runno);
22 AliRawReader *rawReader = NULL;
23 rawReader = new AliRawReaderRoot(fname);
24 AliCaloRawStream *in = NULL;
25 in = new AliCaloRawStream(rawReader,"EMCAL");
26 //in->SetOldRCUFormat(kTRUE);
28 AliRawEventHeaderBase *aliHeader=NULL;
31 while ( rawReader->NextEvent()) {
34 aliHeader = (AliRawEventHeaderBase*) rawReader->GetEventHeader();
35 calibSignal->SetRunNumber( aliHeader->Get("RunNb") ); // just for fun; keep info on last run looked at
37 if ( aliHeader->Get("Type") == AliRawEventHeaderBase::kStartOfRun){
39 calibSignal->SetStartTime(aliHeader->Get("Timestamp"));
40 int time = aliHeader->Get("Timestamp");
43 // set parameters for led event checking
44 calibSignal->SetAmpCut(50);
45 // for now, fraction choice is set for testbeam files:
46 // 64 channels / (a total of 24 rows * 48 cols * 12 modules) = 0.00462962963
47 calibSignal->SetReqFractionAboveAmpCutVal(0.004);
48 calibSignal->SetReqFractionAboveAmp(kTRUE);
49 calibSignal->SetUseAverage(kTRUE);
50 calibSignal->SetSecInAverage(900);
52 // select physics and calibration events now (only calibration in future)
53 if ( aliHeader->Get("Type") == AliRawEventHeaderBase::kPhysicsEvent ||
54 aliHeader->Get("Type") == AliRawEventHeaderBase::kCalibrationEvent ) {
57 if(nevents%1000==0)cout<<"Event "<<nevents<<endl;
59 calibSignal->ProcessEvent(in,aliHeader);
61 } // loop over all events in file
62 /* cleanup the reading handles */
67 // write results/histograms to rootfile
70 printf ("%d physics/calibration events processed.\n",nevents);
73 sprintf(outname, "LED_%09d.root",runno);
75 calibSignal->Save(outname);
76 printf("Wrote %s.\n",outname);
77 calibSignal->Analyze();
78 printf("NEvents Processed %d Accepted %d\n",calibSignal->GetNEvents(),calibSignal->GetNAcceptedEvents());
80 // see if we can delete our analysis helper also