Some additional protections
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Jun 2006 10:02:06 +0000 (10:02 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Jun 2006 10:02:06 +0000 (10:02 +0000)
ITS/AliITSTrigger.cxx
MUON/AliMUONData.cxx
MUON/AliMUONData.h
MUON/AliMUONTrigger.cxx
TRD/AliTRDdigitsManager.cxx
TRD/AliTRDtrigger.cxx
VZERO/AliVZEROTrigger.cxx
ZDC/AliZDCTrigger.cxx

index e11e6ac..93d14cf 100644 (file)
@@ -79,6 +79,7 @@ void AliITSTrigger::Trigger()
   AliITSgeom* geom = loader->GetITSgeom();
   loader->LoadDigits("READ");
   TTree *treeD = loader->TreeD();
+  if (!treeD) return;
 
   TObjArray *digDet = 0;
   digDet = new TObjArray(3);
index 3ef1e05..665107c 100644 (file)
@@ -799,8 +799,10 @@ AliMUONData::GetDigits() const
   Int_t event = fLoader->GetRunLoader()->GetEventNumber();
   if ( fCurrentEvent != event )
   {
-    fLoader->TreeD()->GetEvent(0);
-    fCurrentEvent = event;
+    if (fLoader->TreeD()) {
+      fLoader->TreeD()->GetEvent(0);
+      fCurrentEvent = event;
+    }
   }
 }
 
index a912f04..09545f8 100644 (file)
@@ -91,25 +91,51 @@ class AliMUONData : public TNamed
                    /// Return reconstructed trigger tracks
     TClonesArray*  RecTriggerTracks() {return fRecTriggerTracks;}
 
-                    /// Load hits for \a i th entry in hits three
-    void           GetTrack(Int_t it) const  {fLoader->TreeH()->GetEvent(it);}
+                   /// Load hits for \a i th entry in hits three
+    void           GetTrack(Int_t it) const  {
+      if (fLoader && fLoader->TreeH())
+       fLoader->TreeH()->GetEvent(it);
+    }
                    /// Get number of entries in hits three
-    Int_t          GetNtracks() const      {return (Int_t) fLoader->TreeH()->GetEntries();}
+    Int_t          GetNtracks() const      {
+      Int_t ntrk = 0;
+      if (fLoader && fLoader->TreeH())
+       ntrk = (Int_t) fLoader->TreeH()->GetEntries();
+      return ntrk;
+    }
     void           GetDigits() const;
                    /// Load sdigits tree
-    void           GetSDigits() const {fLoader->TreeS()->GetEvent(0);}
+    void           GetSDigits() const {
+      if (fLoader && fLoader->TreeS())
+       fLoader->TreeS()->GetEvent(0);
+    }
                    /// Load raw clusters tree
-    void           GetRawClusters() const {fLoader->TreeR()->GetEvent(0);}
+    void           GetRawClusters() const {
+      if (fLoader && fLoader->TreeR())
+       fLoader->TreeR()->GetEvent(0);
+    }
                    /// Load trigger tree
-    void           GetTrigger() const {fLoader->TreeR()->GetEvent(0);}
+    void           GetTrigger() const {
+      if (fLoader && fLoader->TreeR())
+       fLoader->TreeR()->GetEvent(0);
+    }
                    /// Load trigger D tree
-    void           GetTriggerD() const {fLoader->TreeD()->GetEvent(0);}
+    void           GetTriggerD() const {
+      if (fLoader && fLoader->TreeD())
+       fLoader->TreeD()->GetEvent(0);
+    }
                    /// Return split level
     Int_t          GetSplitLevel() const {return fSplitLevel;}
                    /// Return reconstructed tracks
-    void           GetRecTracks() const {fLoader->TreeT()->GetEvent(0);}
+    void           GetRecTracks() const {
+      if (fLoader && fLoader->TreeT())
+       fLoader->TreeT()->GetEvent(0);
+    }
                    /// Return reconstructed trigger tracks
-    void           GetRecTriggerTracks() const {fLoader->TreeT()->GetEvent(0);}
+    void           GetRecTriggerTracks() const {
+      if (fLoader && fLoader->TreeT())
+       fLoader->TreeT()->GetEvent(0);
+    }
 
     Bool_t        IsRawClusterBranchesInTree();
     Bool_t        IsDigitsBranchesInTree();
index 5f680ab..1f108d2 100644 (file)
@@ -95,6 +95,10 @@ void AliMUONTrigger::Trigger()
    muonData->SetTreeAddress("GLT");
    muonData->GetTriggerD();
    globalTriggerArray = muonData->GlobalTrigger(); 
+   if (globalTriggerArray == 0x0) { 
+     AliWarning("No Global Trigger Array available");
+     return;
+   }
    globalTrigger = (AliMUONGlobalTrigger*)globalTriggerArray->UncheckedAt(0);
 
    if (globalTrigger == 0x0) { 
index f5cdf07..01be76a 100644 (file)
@@ -157,8 +157,8 @@ void AliTRDdigitsManager::SetRaw()
   //
 
   fIsRaw = kTRUE;
-
-  fDigits->SetBit(AliTRDdigit::RawDigit());
+  if (fDigits)
+    fDigits->SetBit(AliTRDdigit::RawDigit());
   
 }
 
@@ -170,6 +170,7 @@ Short_t AliTRDdigitsManager::GetDigitAmp(Int_t row, Int_t col,Int_t time
   // Returns the amplitude of a digit
   //
 
+  if (!GetDigits(det)) return 0;
   return ((Short_t) GetDigits(det)->GetData(row,col,time));
 
 }
@@ -363,6 +364,7 @@ AliTRDdataArrayI *AliTRDdigitsManager::GetDigits(Int_t det) const
   // Returns the digits array for one detector
   //
 
+  if (!fDigits) return 0x0;
   return (AliTRDdataArrayI *) fDigits->At(det);
 
 }
index 2cd1f97..3377790 100644 (file)
@@ -272,6 +272,8 @@ Bool_t AliTRDtrigger::ReadDigits()
   AliLoader* loader = fRunLoader->GetLoader("TRDLoader");
   if (!loader->TreeD()) loader->LoadDigits();
 
+  if (!loader->TreeD()) return kFALSE;
+
   return (fDigitsManager->ReadDigits(loader->TreeD()));
 
 }
@@ -414,12 +416,16 @@ Bool_t AliTRDtrigger::MakeTracklets(Bool_t makeTracks)
 
         // Get the digits
         fDigits = fDigitsManager->GetDigits(idet);
+       if (!fDigits) return kFALSE;
         fDigits->Expand();
         fTrack0 = fDigitsManager->GetDictionary(idet,0);
+       if (!fTrack0) return kFALSE;
         fTrack0->Expand();
         fTrack1 = fDigitsManager->GetDictionary(idet,1);
+       if (!fTrack1) return kFALSE;
         fTrack1->Expand();
         fTrack2 = fDigitsManager->GetDictionary(idet,2); 
+       if (!fTrack2) return kFALSE;
         fTrack2->Expand();
 
        for (Int_t iRob = 0; iRob < fNROB; iRob++) {
index 33aa9ae..23ceff6 100644 (file)
@@ -50,6 +50,7 @@ void AliVZEROTrigger::Trigger()
 
   loader->LoadDigits("READ");
   TTree* vzeroDigitsTree = loader->TreeD();
+  if (!vzeroDigitsTree) return;
 
   TClonesArray* vzeroDigits = new TClonesArray("AliVZEROdigit",1000);
   TBranch* digitBranch = vzeroDigitsTree->GetBranch("VZERODigit");
index 51f17ed..885ec33 100644 (file)
@@ -81,7 +81,10 @@ void AliZDCTrigger::Trigger()
    AliZDCDigit digit;
    AliZDCDigit* pdigit = &digit;
    TTree* tD = aZDCLoader->TreeD();
-   if (!tD) cerr<<"AliZDCTrigger: digits tree not found\n";
+   if (!tD) {
+     cerr<<"AliZDCTrigger: digits tree not found\n";
+     return;
+   }
    tD->SetBranchAddress("ZDC", &pdigit);
    //
    Float_t signalZNLeft[2], signalZPLeft[2], signalZDCLeftSum[2];