]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDReconstructor.cxx
Re-fixing coverity 18130
[u/mrichter/AliRoot.git] / TRD / AliTRDReconstructor.cxx
index a457fb75f81ecb9d84bbc7c83977126161ac83fe..df5eb5c1ff1c09ec1276b22c2fe90dca5422ca07 100644 (file)
@@ -42,6 +42,7 @@
 #include "AliESDEvent.h"
 #include "AliESDTrdTrack.h"
 #include "AliESDTrdTracklet.h"
+#include "AliESDTrdTrigger.h"
 #include "AliTRDtrackletWord.h"
 
 #define SETFLG(n,f) ((n) |= f)
@@ -49,6 +50,7 @@
 
 ClassImp(AliTRDReconstructor)
 
+AliESDTrdTrigger AliTRDReconstructor::fgTriggerFlags;
 TClonesArray *AliTRDReconstructor::fgClusters = NULL;
 TClonesArray *AliTRDReconstructor::fgTracklets = NULL;
 TClonesArray *AliTRDReconstructor::fgTracks = NULL;
@@ -190,6 +192,10 @@ void AliTRDReconstructor::ConvertDigits(AliRawReader *rawReader
   // take over GTU tracks
   fgTracks = rawData.TracksArray();
   rawData.SetTracksOwner(0x0);
+
+  for (Int_t iSector = 0; iSector < 18; iSector++) {
+    fgTriggerFlags.SetFlags(iSector, rawData.GetTriggerFlags(iSector));
+  }
 }
 
 //_____________________________________________________________________________
@@ -227,6 +233,10 @@ void AliTRDReconstructor::Reconstruct(AliRawReader *rawReader
   fgTracks = fClusterizer->TracksArray();
   fClusterizer->SetTracksOwner(kFALSE);
 
+  for (Int_t iSector = 0; iSector < 18; iSector++) {
+    fgTriggerFlags.SetFlags(iSector, fClusterizer->GetTriggerFlags(iSector));
+  }
+
   if(IsWritingClusters()) return;
 
   // take over ownership of clusters
@@ -309,7 +319,7 @@ void AliTRDReconstructor::FillESD(TTree* /*digitsTree*/
       if ((hc < 0) || (hc >= 1080)) {
        AliError(Form("HC for tracklet: 0x%08x out of range: %i", trkl->GetTrackletWord(), trkl->GetHCId()));
        continue;
-}
+      }
       AliDebug(5, Form("hc: %4i : 0x%08x z: %2i", hc, trkl->GetTrackletWord(), trkl->GetZbin()));
       if (hc != lastHC) {
        AliDebug(2, Form("set tracklet index for HC %i to %i", hc, iTracklet));
@@ -409,6 +419,8 @@ void AliTRDReconstructor::FillESD(TTree* /*digitsTree*/
     }
   }
 
+  esd->SetTrdTrigger(&fgTriggerFlags);
+
   // clearing variables for next event
   fgTracklets = 0x0;
   fgTracks = 0x0;