MakeTriggerTrack & dump trigger output if board is fired (Philippe C.)
authorpcrochet <pcrochet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Mar 2007 15:25:37 +0000 (15:25 +0000)
committerpcrochet <pcrochet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Mar 2007 15:25:37 +0000 (15:25 +0000)
MUON/AliMUONData.cxx
MUON/AliMUONVTrackReconstructor.cxx

index b3bee02..ff5f54d 100644 (file)
@@ -1473,20 +1473,24 @@ AliMUONData::DumpRecTrigger(Int_t event2Check,
     for (Int_t ilocal=0; ilocal<nlocals; ilocal++) { // Local Trigger
       locTrg = static_cast<AliMUONLocalTrigger*>(localTrigger->At(ilocal));
 
-      if (locTrg->LoLpt()!=0) { // board is fired
-
-      if (printout) locTrg->Print("full");
-      
-      AliMUONTriggerCircuit* circuit = (AliMUONTriggerCircuit*)triggerCircuit->At(locTrg->LoCircuit()-1); 
-      
-      tupleLoc->Fill(ievent,locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoDev(),locTrg->LoStripY(),locTrg->LoLpt(),locTrg->LoHpt(),circuit->GetY11Pos(locTrg->LoStripX()),circuit->GetY21Pos(locTrg->LoStripX()+locTrg->LoDev()+1),circuit->GetX11Pos(locTrg->LoStripY()));
+      if ( (locTrg->LoSdev()==1 && locTrg->LoDev()==0 && locTrg->LoStripX()==0) && // no trigger in X
+          (locTrg->LoTrigY()==1 && locTrg->LoStripY()==15) ) { // no trigger in Y
+         // no trigger at all
+         
+      } else { // trigger
+         
+         if (printout) locTrg->Print("full");
+         
+         AliMUONTriggerCircuit* circuit = (AliMUONTriggerCircuit*)triggerCircuit->At(locTrg->LoCircuit()-1); 
+         
+         tupleLoc->Fill(ievent,locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoDev(),locTrg->LoStripY(),locTrg->LoLpt(),locTrg->LoHpt(),circuit->GetY11Pos(locTrg->LoStripX()),circuit->GetY21Pos(locTrg->LoStripX()+locTrg->LoDev()+1),circuit->GetX11Pos(locTrg->LoStripY()));
       }
       
     } // end of loop on Local Trigger
-
+    
     // fill ntuple
     tupleGlo->Fill(ievent,nglobals,gloTrg->SingleLpt(),gloTrg->SingleHpt(),gloTrg->PairUnlikeLpt(),gloTrg->PairUnlikeHpt(),gloTrg->PairLikeLpt(),gloTrg->PairLikeHpt());
-
+    
     ResetTrigger();
     if (event2Check!=0) ievent=nevents;
   } // end loop on event  
index 2427cbf..1544e12 100644 (file)
@@ -354,31 +354,38 @@ Bool_t AliMUONVTrackReconstructor::MakeTriggerTracks(void)
   Float_t x11 = 0.;
 
   for (Int_t i=0; i<nlocals; i++) { // loop on Local Trigger
-    locTrg = (AliMUONLocalTrigger*)localTrigger->UncheckedAt(i);      
-
-    AliDebug(1, "AliMUONTrackReconstructor::MakeTriggerTrack using NEW trigger \n");
-    AliMUONTriggerCircuit* circuit = 
-      (AliMUONTriggerCircuit*)fTriggerCircuit->At(locTrg->LoCircuit()-1); // -1 !!!
-
-    y11 = circuit->GetY11Pos(locTrg->LoStripX()); 
-    stripX21 = locTrg->LoStripX()+locTrg->LoDev()+1;
-    y21 = circuit->GetY21Pos(stripX21);       
-    x11 = circuit->GetX11Pos(locTrg->LoStripY());
-    
-    AliDebug(1, Form(" MakeTriggerTrack %d %d %d %d %d %f %f %f \n",i,locTrg->LoCircuit(),
-                    locTrg->LoStripX(),locTrg->LoStripX()+locTrg->LoDev()+1,locTrg->LoStripY(),y11, y21, x11));
-    
-    Float_t thetax = TMath::ATan2( x11 , z11 );
-    Float_t thetay = TMath::ATan2( (y21-y11) , (z21-z11) );
-    
-    fTriggerTrack->SetX11(x11);
-    fTriggerTrack->SetY11(y11);
-    fTriggerTrack->SetThetax(thetax);
-    fTriggerTrack->SetThetay(thetay);
-    fTriggerTrack->SetGTPattern(gloTrigPat);
-    fTriggerTrack->SetLoTrgNum(i);
-         
-    fMUONData->AddRecTriggerTrack(*fTriggerTrack);
+      locTrg = (AliMUONLocalTrigger*)localTrigger->UncheckedAt(i);      
+      
+      if ( (locTrg->LoSdev()==1 && locTrg->LoDev()==0 && locTrg->LoStripX()==0) && // no trigger in X
+          (locTrg->LoTrigY()==1 && locTrg->LoStripY()==15) ) { // no trigger in Y
+         // no trigger at all
+         
+      } else { // trigger
+         
+         AliDebug(1, "AliMUONTrackReconstructor::MakeTriggerTrack using NEW trigger \n");
+         AliMUONTriggerCircuit* circuit = 
+             (AliMUONTriggerCircuit*)fTriggerCircuit->At(locTrg->LoCircuit()-1); // -1 !!!
+         
+         y11 = circuit->GetY11Pos(locTrg->LoStripX()); 
+         stripX21 = locTrg->LoStripX()+locTrg->LoDev()+1;
+         y21 = circuit->GetY21Pos(stripX21);       
+         x11 = circuit->GetX11Pos(locTrg->LoStripY());
+         
+         AliDebug(1, Form(" MakeTriggerTrack %d %d %d %d %d %f %f %f \n",i,locTrg->LoCircuit(),
+                          locTrg->LoStripX(),locTrg->LoStripX()+locTrg->LoDev()+1,locTrg->LoStripY(),y11, y21, x11));
+         
+         Float_t thetax = TMath::ATan2( x11 , z11 );
+         Float_t thetay = TMath::ATan2( (y21-y11) , (z21-z11) );
+         
+         fTriggerTrack->SetX11(x11);
+         fTriggerTrack->SetY11(y11);
+         fTriggerTrack->SetThetax(thetax);
+         fTriggerTrack->SetThetay(thetay);
+         fTriggerTrack->SetGTPattern(gloTrigPat);
+         fTriggerTrack->SetLoTrgNum(i);
+         
+         fMUONData->AddRecTriggerTrack(*fTriggerTrack);
+      } // board is fired 
   } // end of loop on Local Trigger
   
   return kTRUE;