Correct treatment of single and multi muon information (raw->digits and digits->raw...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 9 May 2008 13:32:11 +0000 (13:32 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 9 May 2008 13:32:11 +0000 (13:32 +0000)
ACORDE/AliACORDE.cxx
ACORDE/AliACORDERawData.cxx
ACORDE/AliACORDERawData.h
ACORDE/AliACORDEReconstructor.cxx

index 5d73d8e..6c82005 100644 (file)
@@ -281,7 +281,7 @@ void AliACORDE::Digits2Raw()
 
   // 4. Write raw data
   AliACORDERawData rawdata;
-  rawdata.WriteACORDERawData(Modules);
+  rawdata.WriteACORDERawData(Modules,(ndig > 1));
 }
 
 //_____________________________________________________________________________
index 4ed2ace..ab3075f 100644 (file)
@@ -72,11 +72,11 @@ AliACORDERawData &AliACORDERawData::operator=(const AliACORDERawData &r)
   return *this;
 }
 
-void AliACORDERawData::WriteACORDERawData(Bool_t *b)
+void AliACORDERawData::WriteACORDERawData(Bool_t *b,Bool_t multi)
 
 {
   // set words
-  SetACORDERawWords(b);
+  SetACORDERawWords(b,multi);
 
   // open output file
   const char *fileName = AliDAQ::DdlFileName("ACORDE",0);
@@ -102,18 +102,18 @@ void AliACORDERawData::WriteACORDERawData(Bool_t *b)
   fFile->Seekp(current_position);
 }
 
-void AliACORDERawData::SetACORDERawWords(Bool_t *b)
+void AliACORDERawData::SetACORDERawWords(Bool_t *b,Bool_t multi)
 
 {
   // set modules
   for (Int_t i=0;i<30;i++) {
     if (b[i]) {
       fWord9|=(1<<i);
-      fWord11|=(1<<i);
+      if (multi) fWord11|=(1<<i);
     }
     if (b[i+30]) {
       fWord10|=(1<<i);
-      fWord12|=(1<<i);
+      if (multi) fWord12|=(1<<i);
     }
   } // end for
   // set labels
index 653daf4..b95b8c9 100644 (file)
@@ -22,8 +22,8 @@ class AliACORDERawData : public TObject {
   virtual ~AliACORDERawData();
   AliACORDERawData &operator=(const AliACORDERawData &r);      // ass. op.
 
-  void WriteACORDERawData(Bool_t *b);
-  void SetACORDERawWords(Bool_t *b);
+  void WriteACORDERawData(Bool_t *b,Bool_t multi);
+  void SetACORDERawWords(Bool_t *b,Bool_t multi);
   
 
  private:
index de3b85e..692da25 100644 (file)
@@ -90,10 +90,6 @@ void AliACORDEReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digit
       Int_t  bit   = iChannel % 30;
       if (rawStream.GetWord(index) & (1 << bit))
         new ((*digitsArray)[digitsArray->GetEntriesFast()]) AliACORDEdigit(iChannel+1,0);
-      // separate digits for single and multi muon signals !!!
-      // TO BE DONE!!
-      // if (GetWord(index+1) & (1 << bit))
-      // new ((*digitsArray)[digitsArray->GetEntriesFast()]) AliACORDEdigit(iChannel+1,0); // multi-muon digit
     }
   }