]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDrawData.cxx
Fix for true centrality estimator with hijing npart (Alberica)
[u/mrichter/AliRoot.git] / TRD / AliTRDrawData.cxx
index ca9bc69120527d1a75c7f62c52029e566a5338bb..6a7e474f59725041bb4fe5fda122a9e8dc53a4a1 100644 (file)
@@ -30,6 +30,7 @@
 #include "AliRawReader.h"
 #include "AliLog.h"
 #include "AliFstream.h"
+#include "AliLoader.h"
 #include "AliTreeLoader.h"
 
 #include "AliTRDrawData.h"
@@ -62,6 +63,7 @@ AliTRDrawData::AliTRDrawData()
   ,fSMindexPos(0)
   ,fStackindexPos(0)
   ,fEventCounter(0)
+  ,fTrgFlags()
   ,fMcmSim(new AliTRDmcmSim)
   ,fDigitsParam(NULL)
 {
@@ -87,6 +89,7 @@ AliTRDrawData::AliTRDrawData(const AliTRDrawData &r)
   ,fSMindexPos(0)
   ,fStackindexPos(0)
   ,fEventCounter(0)
+  ,fTrgFlags()
   ,fMcmSim(new AliTRDmcmSim)
   ,fDigitsParam(NULL)
 {
@@ -106,16 +109,6 @@ AliTRDrawData::~AliTRDrawData()
   // Destructor
   //
 
-  if (fTracklets){
-    fTracklets->Delete();
-    delete fTracklets;
-  }
-
-  if (fTracks){
-    fTracks->Delete();
-    delete fTracks;
-  }
-
   delete fMcmSim;
 
 }
@@ -220,7 +213,7 @@ Bool_t AliTRDrawData::Digits2Raw(AliTRDdigitsManager *digitsManager)
     Bool_t bSMHasData = kFALSE;
     
     //iwbuffer[nheader++] = 0x0001a020;   // SM index words 
-    iwbuffer[nheader++] = 0x0044a020;   // SM index words | additional SM header:48 = 1 SM header + 47 dummy words(for future use)
+    iwbuffer[nheader++] = 0x0044b020;   // SM index words | additional SM header:48 = 1 SM header + 47 dummy words(for future use)
     iwbuffer[nheader++] = 0x10404071;   // SM header
     for ( Int_t i=0; i<66; i++ ) iwbuffer[nheader++] = 0x00000000;  // dummy words 
     iwbuffer[nheader++] = 0x10000000;   // end of dummy words
@@ -249,7 +242,7 @@ Bool_t AliTRDrawData::Digits2Raw(AliTRDdigitsManager *digitsManager)
     
     if ( fgDataSuppressionLevel==0 || bSMHasData ){
       iwbuffer[0] = iwbuffer[0] | bStackMask;  // add stack masks to SM index word
-      if (fgDataSuppressionLevel==0) iwbuffer[0] = 0x0044a03f;    // no suppression : all stacks are active
+      if (fgDataSuppressionLevel==0) iwbuffer[0] = 0x0044b03f;    // no suppression : all stacks are active
       of->WriteBuffer((char *) iwbuffer, nheader*4);
       AliDebug(11, Form("SM %d index word: %08x", sect, iwbuffer[0]));
       AliDebug(11, Form("SM %d header: %08x", sect, iwbuffer[1]));
@@ -347,7 +340,7 @@ void AliTRDrawData::ProduceSMIndexData(UInt_t *buf, Int_t& nw){
        
     //buf[nw++] = 0x0001a03f;   // SM index words
     fSMindexPos = nw;       // memorize position of the SM index word for re-allocating stack mask
-    buf[nw++] = 0x0001a020; // SM index words
+    buf[nw++] = 0x0001b020; // SM index words
     buf[nw++] = 0x10404071; // SM header
 
     fStackindexPos = nw;    // memorize position of the stack index word for future adding
@@ -572,8 +565,8 @@ AliTRDdigitsManager *AliTRDrawData::Raw2Digits(AliRawReader *rawReader)
   if (!trklTreeLoader->Tree())
     trklTreeLoader->MakeTree();
 
-  input.SetTrackletArray(TrackletsArray());
-  input.SetTrackArray(TracksArray());
+  input.SetTrackletArray(fTracklets);
+  input.SetTrackArray(fTracks);
 
   // Loop through the digits
   Int_t det    = 0;
@@ -597,6 +590,10 @@ AliTRDdigitsManager *AliTRDrawData::Raw2Digits(AliRawReader *rawReader)
        }
     }
 
+  for (Int_t iSector = 0; iSector < fGeo->Nsector(); iSector++) {
+    fTrgFlags[iSector] = input.GetTriggerFlags(iSector);
+  }
+
   trklTreeLoader->WriteData("OVERWRITE");
   trklLoader->UnloadAll();
 
@@ -661,23 +658,3 @@ void AliTRDrawData::WriteIntermediateWords(UInt_t* buf, Int_t& nw, Int_t& of, co
     x = ((kNTBin)<<26) | (bcCtr<<10) | (ptCtr<<6) | (ptPhase<<2) | 1;
     if (nw < maxSize) buf[nw++] = x; else of++;
 }
-
-TClonesArray *AliTRDrawData::TrackletsArray()
-{
-  // Returns the array of on-line tracklets
-
-  if (!fTracklets) {
-    fTracklets = new TClonesArray("AliTRDtrackletWord", 200);
-  }
-  return fTracklets;
-}
-
-TClonesArray* AliTRDrawData::TracksArray()
-{
-  // return array of GTU tracks (create TClonesArray if necessary)
-
-  if (!fTracks) {
-    fTracks = new TClonesArray("AliESDTrdTrack",100);
-  }
-  return fTracks;
-}