]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerDisplay.cxx
Some cleanup in the makefiles
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerDisplay.cxx
index 691b3fa5f8f6f6d22d4b915b4d39000cc3bd863a..610d768a3524e40f2881a4ee1017184a1533bd4d 100644 (file)
@@ -190,6 +190,9 @@ Bool_t AliMUONTriggerDisplay::InitOrDisplayTriggerInfo(TH1* inputHisto, TH2* dis
       AliWarning("Display histogram not initialized. Please initialize it first!");
       return kFALSE;
   }
+  else if ( inputHisto->GetEntries() == 0 ) {
+    return kTRUE;
+  }
 
   Float_t xWidth, yWidth, yWidthSlat=0., xWidthCol=0.;
   Float_t x1,x2,y1,y2;
@@ -225,10 +228,10 @@ Bool_t AliMUONTriggerDisplay::InitOrDisplayTriggerInfo(TH1* inputHisto, TH2* dis
 
     if(iLoc==0){
       AliMpPad pad1 = seg[1]->PadByLocation(iBoard,0,kFALSE);
-      yWidthSlat = pad1.Dimensions().Y();
+      yWidthSlat = pad1.GetDimensionY();
       AliMpPad pad0 = seg[0]->PadByLocation(iBoard,0,kFALSE);
-      xOffsetLine = TMath::Abs(pad0.Position().X()) + pad0.Dimensions().X();
-      xWidthCol = 2.* pad0.Dimensions().X();
+      xOffsetLine = TMath::Abs(pad0.GetPositionX()) + pad0.GetDimensionX();
+      xWidthCol = 2.* pad0.GetDimensionX();
     }
 
     // Get ideal global position of DetElemId center
@@ -257,11 +260,11 @@ Bool_t AliMUONTriggerDisplay::InitOrDisplayTriggerInfo(TH1* inputHisto, TH2* dis
 
        if (!pad.IsValid()) continue;
 
-       xWidth = pad.Dimensions().X();
-       yWidth = pad.Dimensions().Y();
-       xcPad = sign * (pad.Position().X() + xOffsetLine);
+       xWidth = pad.GetDimensionX();
+       yWidth = pad.GetDimensionY();
+       xcPad = sign * (pad.GetPositionX() + xOffsetLine);
        if(line==4) xcPad += 0.75 * sign * xWidthCol;
-       ycPad = pad.Position().Y() + yOffsetLine;
+       ycPad = pad.GetPositionY() + yOffsetLine;
 
        if(cath==iCath){
          x1 = xcPad - xWidth + kShiftX;
@@ -422,9 +425,19 @@ void AliMUONTriggerDisplay::FillBins(TH1* inputHisto, TH2* displayHisto,
     binY2 = meanBin;
   }
 
+  Float_t elementArea = 1.;
+  if(displayOpt == kNormalizeToArea) {
+    elementArea = (x2 - x1 + 2*kShiftX) * 
+      (y2 - y1 + 2*kShiftY); // In InitOrDisplayTriggerInfo: 
+                             // x2 = x_c + xHalfWidth - kShiftX
+                             // x1 = x_c - xHalfWidth + kShiftX
+                             // so x2 - x1 + 2*kShiftX returns the element width.
+
+  }
+
   for(Int_t ibinx=binX1; ibinx<=binX2; ibinx++){
     for(Int_t ibiny=binY1; ibiny<=binY2; ibiny++){
-      displayHisto->SetBinContent(ibinx,ibiny,binContent);
+      displayHisto->SetBinContent(ibinx,ibiny,binContent/elementArea);
     }
   }
 }