]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDgtuSim.cxx
- update handling of arrayDictionary
[u/mrichter/AliRoot.git] / TRD / AliTRDgtuSim.cxx
index a3e849acf65dd004ea2dfa8a24fa8f00fe1d142f..e574afb58efca44f83b1b5d8c4fbbe7f06f01e32 100644 (file)
@@ -39,6 +39,7 @@
 #include "AliESDTrdTrack.h"
 
 #include "AliTRDgtuSim.h"
+#include "AliTRDfeeParam.h"
 #include "AliTRDgtuTMU.h"
 #include "AliTRDtrackGTU.h"
 #include "AliTRDtrackletWord.h"
@@ -50,6 +51,7 @@ ClassImp(AliTRDgtuSim)
 AliTRDgtuSim::AliTRDgtuSim(AliRunLoader *rl) 
   : TObject(),
   fRunLoader(rl),
+  fFeeParam(AliTRDfeeParam::Instance()),
   fTMU(0x0),
   fTrackletArray(0x0),
   fTrackTree(0x0),
@@ -140,12 +142,13 @@ Bool_t AliTRDgtuSim::RunGTUFromTrackletFile(TString filename, Int_t event, Int_t
        }
        for (Int_t i = 5; i < tokens->GetEntriesFast(); i++) {
            UInt_t trackletWord = 0;
-           sscanf(((TObjString*) tokens->At(i))->GetString().Data(), "%x", &trackletWord);
+           sscanf(((TObjString*) tokens->At(i))->GetString().Data(), "%i", &trackletWord);
            if (trackletWord == 0x10001000) 
                break;
            AliDebug(2,Form("%i. tracklet: %s -> 0x%08x", i-4, ((TObjString*) tokens->At(i))->GetString().Data(), trackletWord));
            AliTRDtrackletWord *trkl = new AliTRDtrackletWord(trackletWord);
-           fTMU->AddTracklet(trkl, iLink);
+           if (fTMU)
+             fTMU->AddTracklet(trkl, iLink);
        }
     }
     
@@ -171,6 +174,9 @@ Bool_t AliTRDgtuSim::RunGTU(AliLoader *loader, AliESDEvent *esd)
   // run the GTU on tracklets taken from the loader
   // if specified the GTU tracks are written to the ESD event 
 
+  if (!fFeeParam->GetTracklet())
+    return kFALSE;
+
     if (!LoadTracklets(loader)) {
        AliError("Could not load the tracklets. Nothing done ...");
        return kFALSE;
@@ -216,7 +222,8 @@ Bool_t AliTRDgtuSim::RunGTU(AliLoader *loader, AliESDEvent *esd)
            iSecPrev = iSec;
        }
        AliDebug(1, Form("adding tracklet: 0x%08x", trkl->GetTrackletWord()));
-       fTMU->AddTracklet(trkl, iLink);
+       if (fTMU)
+         fTMU->AddTracklet(trkl, iLink);
     }
     
     if (fTMU) {
@@ -242,6 +249,9 @@ Bool_t AliTRDgtuSim::LoadTracklets(AliLoader *const loader)
 
   AliDebug(1,"Loading tracklets ...");
 
+  if (!fFeeParam->GetTracklet())
+    return kFALSE;
+
   if (!loader) {
     AliError("No loader given!");
     return kFALSE;
@@ -416,7 +426,7 @@ Bool_t AliTRDgtuSim::WriteTracksToLoader()
   // these tracks contain more information than the ones in the ESD
 
   if (!fTrackTree) {
-    AliError("No track tree found!");
+    AliDebug(1, "No track tree found!");
     return kFALSE;
   }
 
@@ -439,7 +449,7 @@ Bool_t AliTRDgtuSim::WriteTracksToLoader()
   if (!trackTree->GetBranch("TRDtrackGTU"))
     trackTree->Branch("TRDtrackGTU", "AliTRDtrackGTU", &trk, 32000);
   
-  AliDebug(1,Form("Found %d tracks", fTrackTree->GetEntries()));
+  AliDebug(1,Form("Found %lld tracks", fTrackTree->GetEntries()));
 
   for (Int_t iTrack = 0; iTrack < fTrackTree->GetEntries(); iTrack++) {
     fTrackTree->SetBranchAddress("TRDgtuTrack", &trk);