]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AnalyzeSDDNoiseAllMod.C
New survey data for V0A (Lizardo)
[u/mrichter/AliRoot.git] / ITS / AnalyzeSDDNoiseAllMod.C
index 2fe439739da388959db6a0d0a7c85a1ccfe450d5..32e09ff25179f8dbe2651283628354f930240e54 100644 (file)
 void AnalyzeSDDNoiseAllMod(Char_t *datafil, 
                           Int_t adcfreq=20, 
                           Int_t nDDL=0, 
-                          Int_t firstEv=10, 
-                          Int_t lastEv=12, 
-                          Int_t dataformat=1){
+                          Int_t firstEv=18, 
+                          Int_t lastEv=20){ 
 
 
   const Int_t kTotDDL=24;
   const Int_t kModPerDDL=12;
   const Int_t kSides=2;
+  Bool_t writtenoutput=kFALSE;
 
   AliITSOnlineSDDBase **base=new AliITSOnlineSDDBase*[kTotDDL*kModPerDDL*kSides];
   TH2F **histo=new TH2F*[kTotDDL*kModPerDDL*kSides];
@@ -83,13 +83,15 @@ void AnalyzeSDDNoiseAllMod(Char_t *datafil,
        }
       }
     }
-    AliITSRawStream* s;
-    if(dataformat==0){
-      s=new AliITSRawStreamSDD(rd);
-    }else{
-      s=new AliITSRawStreamSDDCompressed(rd);
-      if(dataformat==1) s->SetADCEncoded(kTRUE);
+
+    UChar_t cdhAttr=AliITSRawStreamSDD::ReadBlockAttributes(rd);
+    UInt_t amSamplFreq=AliITSRawStreamSDD::ReadAMSamplFreqFromCDH(cdhAttr);
+    AliITSRawStream* s=AliITSRawStreamSDD::CreateRawStreamSDD(rd,cdhAttr);
+    if(!writtenoutput){
+      printf("Use %s raw stream, sampling frequency %d MHz\n",s->ClassName(),amSamplFreq);
+      writtenoutput=kTRUE;
     }
+
     while(s->Next()){
       Int_t iDDL=rd->GetDDLID();
       Int_t iCarlos=s->GetCarlosId();
@@ -171,12 +173,12 @@ void AnalyzeSDDNoiseAllMod(Char_t *datafil,
       }
     }
     
-    AliITSRawStream* s;
-    if(dataformat==0){
-      s=new AliITSRawStreamSDD(rd2);
-    }else{
-      s=new AliITSRawStreamSDDCompressed(rd2);
-      if(dataformat==1) s->SetADCEncoded(kTRUE);
+    UChar_t cdhAttr=AliITSRawStreamSDD::ReadBlockAttributes(rd2);
+    UInt_t amSamplFreq=AliITSRawStreamSDD::ReadAMSamplFreqFromCDH(cdhAttr);
+    AliITSRawStream* s=AliITSRawStreamSDD::CreateRawStreamSDD(rd2,cdhAttr);
+    if(!writtenoutput){
+      printf("Use %s raw stream, sampling frequency %d MHz\n",s->ClassName(),amSamplFreq);
+      writtenoutput=kTRUE;
     }
     while(s->Next()){
       Int_t iDDL=rd2->GetDDLID();
@@ -394,16 +396,15 @@ void AnalyzeSDDNoiseAllMod(Char_t *datafil,
 
 }
 
-void AnalyzeSDDNoiseAllMod(Int_t nrun, Int_t n2, Char_t* dir="LHC08d_SDD",
+void AnalyzeSDDNoiseAllMod(Int_t nrun, Int_t n2, Int_t year=2009, Char_t* dir="LHC09b_SDD",
                           Int_t adcfreq=20, 
                           Int_t nDDL=0, 
-                          Int_t firstEv=15, 
-                          Int_t lastEv=18, 
-                          Int_t dataformat=1){
+                          Int_t firstEv=18, 
+                          Int_t lastEv=20){
 
   TGrid::Connect("alien:",0,0,"t");
   Char_t filnam[200];
-  sprintf(filnam,"alien:///alice/data/2008/%s/%09d/raw/08%09d%03d.10.root",dir,nrun,nrun,n2);
+  sprintf(filnam,"alien:///alice/data/%d/%s/%09d/raw/%02d%09d%03d.10.root",year,dir,nrun,year-2000,nrun,n2);
   printf("Open file %s\n",filnam);
-  AnalyzeSDDNoiseAllMod(filnam,adcfreq,nDDL,firstEv,lastEv,dataformat);
+  AnalyzeSDDNoiseAllMod(filnam,adcfreq,nDDL,firstEv,lastEv);
 }