a940f057d4a907488586b3557c061c12be176caf
[u/mrichter/AliRoot.git] / MUON / mapping / macros / testExistingPads.C
1 // $Id$
2 // $MpId: testExistingPads.C,v 1.10 2005/08/24 08:53:27 ivana Exp $
3 //
4 // Test macro for testing which pad is seen as "existing" by AliMpSector.
5
6 void testExistingPads(AliMpStationType station = kStation1,
7                       AliMpPlaneType plane = kBendingPlane) 
8 {
9   AliMpSectorReader r(station, plane);
10   AliMpSector *sector=r.BuildSector();
11   AliMpSectorSegmentation segmentation(sector);
12   AliMpVPainter* painter = AliMpVPainter::CreatePainter(sector);
13
14   TCanvas* c1 = new TCanvas("view",
15                             "AliMpSectorPainter::Draw() output (view per pad)");
16   painter->Draw("ZSSMP");
17   c1->Update();
18
19   Int_t maxPadIndexX = segmentation.MaxPadIndexX();
20   Int_t maxPadIndexY = segmentation.MaxPadIndexY();
21   
22   // Define histogram limits
23   Int_t nx = (maxPadIndexX/10 + 1)*10;
24   Int_t ny = (maxPadIndexY/10 + 1)*10;
25   TH2C* histo = new TH2C("histo","Existing pads", 
26                           nx, -0.5, nx-0.5, ny, -0.5, ny-0.5);
27
28   TCanvas* c2 = new TCanvas("c2","Only existing pads are filled");
29
30   AliMpSectorSegmentation segmentation(sector);
31   for (Int_t i=0; i<maxPadIndexX+1;i++){
32     for (Int_t j=0;j<maxPadIndexY+1;++j){
33
34       AliMpIntPair indices(i,j);
35       if (segmentation.HasPad(indices)) histo->Fill(i,j);
36     }
37   }
38
39   c2->cd();
40   histo->Draw("box");
41 }