]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRecoCheck.cxx
Updating the effecftive multiplicity calculation using the official
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoCheck.cxx
index aa8e2dc7094bae387b208596037d525fdf5eb4c6..07102abeb9f9901ff0993e8401b69db3f371d606 100644 (file)
@@ -53,7 +53,7 @@
 #include "AliESDEvent.h"
 #include "AliESDMuonTrack.h"
 #include "AliMUONDigitStoreV2S.h"
-#include "AliMUONDigit.h"
+#include "AliMUONVDigit.h"
 #include "AliMpVSegmentation.h"
 #include "AliMpSegmentation.h"
 #include "AliMpPad.h"
@@ -185,16 +185,15 @@ void AliMUONRecoCheck::ResetStores()
 //_____________________________________________________________________________
 Bool_t AliMUONRecoCheck::InitCircuit()
 {
-
+  
   if ( fTriggerCircuit ) return kTRUE;
   
   if ( ! InitGeometryTransformer() ) return kFALSE;
   
-  fTriggerCircuit = new AliMUONTriggerCircuit(fGeometryTransformer);
-
   // reset tracker for local trigger to trigger track conversion
-  if ( ! AliMUONESDInterface::GetTracker() )
-    AliMUONESDInterface::ResetTracker();
+  if ( ! AliMUONESDInterface::GetTracker() ) AliMUONESDInterface::ResetTracker();
+  
+  fTriggerCircuit = new AliMUONTriggerCircuit(fGeometryTransformer);
   
   return kTRUE;
 }
@@ -409,12 +408,12 @@ void AliMUONRecoCheck::MakeTriggeredTracks()
 }
 
 //_____________________________________________________________________________
-void AliMUONRecoCheck::TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack)
+Bool_t AliMUONRecoCheck::TriggerToTrack(const AliMUONLocalTrigger& locTrg, AliMUONTriggerTrack& triggerTrack)
 {
   /// Make trigger track from local trigger info
-  if ( ! InitCircuit() ) return;
+  if ( ! InitCircuit() ) return kFALSE;
   AliMUONVTrackReconstructor* tracker = AliMUONESDInterface::GetTracker();
-  tracker->TriggerToTrack(*fTriggerCircuit, locTrg, triggerTrack);
+  return tracker->TriggerToTrack(*fTriggerCircuit, locTrg, triggerTrack);
 }
 
 
@@ -429,9 +428,7 @@ void AliMUONRecoCheck::MakeTrackRefs()
   TParticle* particle;
   TClonesArray* trackRefs;
   Int_t nTrackRef = fMCEventHandler->MCEvent()->GetNumberOfTracks();
-  AliMUONVClusterStore* cStore = AliMUONESDInterface::NewClusterStore();
-  if (!cStore) return;
-  AliMUONVCluster* hit = cStore->CreateCluster(0,0,0);
+  AliMUONVCluster* hit = AliMUONESDInterface::NewCluster();
   
   // loop over simulated tracks
   for (Int_t iTrackRef  = 0; iTrackRef < nTrackRef; ++iTrackRef) {
@@ -539,7 +536,6 @@ void AliMUONRecoCheck::MakeTrackRefs()
   CleanMuonTrackRef(tmpTrackRefStore);
   
   delete hit;
-  delete cStore;
   delete tmpTrackRefStore;
 }
 
@@ -602,11 +598,12 @@ void AliMUONRecoCheck::MakeTriggerableTracks()
         
           if ( cath == AliMp::kCath0 ) nboard = pad.GetLocalBoardId(0);
         
-          AliMUONDigit* digit = new AliMUONDigit(detElemId,nboard,
-                                                 pad.GetLocalBoardChannel(0),cath);
-          digit->SetPadXY(ix,iy);
-          digit->SetCharge(1.);
-          digitStore.Add(*digit,AliMUONVDigitStore::kDeny);
+          AliMUONVDigit* digit = digitStore.Add(detElemId, nboard, pad.GetLocalBoardChannel(0),
+                                               cath, AliMUONVDigitStore::kDeny);
+          if (digit) {
+           digit->SetPadXY(ix,iy);
+           digit->SetCharge(1.);
+         }
         }
       }
     
@@ -669,9 +666,7 @@ void AliMUONRecoCheck::CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefSt
   Double_t maxGasGap = 1.; // cm 
   Double_t x, y, z, pX, pY, pZ, x1, y1, z1, pX1, pY1, pZ1, z2;
   Double_t bendingSlope,nonBendingSlope,inverseBendingMomentum;
-  AliMUONVClusterStore* cStore = AliMUONESDInterface::NewClusterStore();
-  if (!cStore) return;
-  AliMUONVCluster* hit = cStore->CreateCluster(0,0,0);
+  AliMUONVCluster* hit = AliMUONESDInterface::NewCluster();
   
   // create iterator
   TIter next(tmpTrackRefStore->CreateIterator());
@@ -771,7 +766,6 @@ void AliMUONRecoCheck::CleanMuonTrackRef(const AliMUONVTrackStore *tmpTrackRefSt
   }
   
   delete hit;
-  delete cStore;
 }
 
 //_____________________________________________________________________________
@@ -909,7 +903,7 @@ Bool_t AliMUONRecoCheck::InitTriggerResponse()
   
   if ( ! InitGeometryTransformer() ) return kFALSE;
   
-  if ( ! AliMpDDLStore::Instance(false) ) AliMpCDB::LoadDDLStore();
+  if ( ! AliMpDDLStore::Instance(false) && ! AliMpCDB::LoadDDLStore()) return kFALSE;
   
   if ( ! InitCalibrationData() ) return kFALSE;