]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackingChamber.cxx
Make use of new method AliRawReader::GetNumberOfEvents() - goinf to the last event...
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingChamber.cxx
index 5d3d1aeed420db04d4792de56925b05144d9a98e..6503f783ab05b4701653f88f43a7aa0de1af0b63 100644 (file)
@@ -13,7 +13,7 @@
  * provided "as is" without express or implied warranty.                  *\r
  **************************************************************************/\r
 \r
-/* $Id: AliTRDtrackingDebug.cxx 23810 2008-02-08 09:00:27Z hristov $ */\r
+/* $Id: AliTRDtrackingChamber.cxx 23810 2008-02-08 09:00:27Z hristov $ */\r
 \r
 ////////////////////////////////////////////////////////////////////////////\r
 //                                                                        //\r
@@ -55,7 +55,7 @@ void AliTRDtrackingChamber::Clear(const Option_t *opt)
 //_______________________________________________________\r
 void AliTRDtrackingChamber::InsertCluster(AliTRDcluster *c, Int_t index)\r
 {\r
-       fTB[c->GetLocalTimeBin()].InsertCluster(c, index);\r
+       fTB[c->GetPadTime()].InsertCluster(c, index);\r
 }\r
 \r
 //_______________________________________________________\r
@@ -65,11 +65,11 @@ Bool_t AliTRDtrackingChamber::Build(AliTRDgeometry *geo)
 // Calculates radial position of the chamber based on \r
 // radial positions of the time bins (calibration/alignment aware)\r
 //\r
-       Int_t stack = geo->GetChamber(fDetector);\r
-       Int_t plane = geo->GetPlane(fDetector);\r
-       AliTRDpadPlane *pp = geo->GetPadPlane(plane, stack);\r
+       Int_t stack = geo->GetStack(fDetector);\r
+       Int_t layer = geo->GetLayer(fDetector);\r
+       AliTRDpadPlane *pp = geo->GetPadPlane(layer, stack);\r
        Double_t zl = pp->GetRow0ROC() - pp->GetRowEndROC();\r
-       Double_t z0 = geo->GetRow0(plane, stack, 0) - zl;\r
+       Double_t z0 = geo->GetRow0(layer, stack, 0) - zl;\r
        Int_t nrows = pp->GetNrows();\r
        \r
        Int_t index[50], jtb = 0;\r
@@ -156,7 +156,7 @@ Double_t AliTRDtrackingChamber::GetQuality()
 \r
 \r
 //_______________________________________________________\r
-AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo)\r
+Bool_t AliTRDtrackingChamber::GetSeedingLayer(AliTRDchamberTimeBin *&fakeLayer, AliTRDgeometry *geo, const AliTRDReconstructor *rec)\r
 {\r
   //\r
   // Creates a seeding layer\r
@@ -166,12 +166,14 @@ AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo
        const Int_t kMaxRows = 16;\r
        const Int_t kMaxCols = 144;\r
        const Int_t kMaxPads = 2304;\r
-               \r
+       Int_t timeBinMin = rec->GetRecoParam()->GetNumberOfPresamples();\r
+       Int_t timeBinMax = rec->GetRecoParam()->GetNumberOfPostsamples();\r
+\r
        // Get the geometrical data of the chamber\r
-       Int_t plane = geo->GetPlane(fDetector);\r
-       Int_t stack = geo->GetChamber(fDetector);\r
+       Int_t layer = geo->GetLayer(fDetector);\r
+       Int_t stack = geo->GetStack(fDetector);\r
        Int_t sector= geo->GetSector(fDetector);\r
-       AliTRDpadPlane *pp = geo->GetPadPlane(plane, stack);\r
+       AliTRDpadPlane *pp = geo->GetPadPlane(layer, stack);\r
        Int_t nCols = pp->GetNcols();\r
        Float_t ymin = TMath::Min(pp->GetCol0(), pp->GetColEnd());\r
        Float_t ymax = TMath::Max(pp->GetCol0(), pp->GetColEnd());\r
@@ -193,8 +195,8 @@ AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo
                histogram[irs] = &hvals[irs*kMaxCols];\r
                sigmas[irs] = &svals[irs*kMaxCols];\r
        }\r
-       for(Int_t iTime = 0; iTime < kNTimeBins; iTime++){\r
-               if(!(nClusters = fTB[iTime].GetNClusters())) continue;\r
+       for(Int_t iTime = timeBinMin; iTime < kNTimeBins-timeBinMax; iTime++){\r
+    if(!(nClusters = fTB[iTime].GetNClusters())) continue;\r
                z0 = fTB[iTime].GetZ0();\r
                zl = fTB[iTime].GetDZ0();\r
                for(Int_t incl = 0; incl < nClusters; incl++){\r
@@ -241,7 +243,7 @@ AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo
        TMath::Sort(nPads, hvals, indices);                     // bins storing a 0 should not matter\r
        // Set Threshold\r
        Int_t maximum = hvals[indices[0]];      // best\r
-       Int_t threshold = Int_t(maximum * AliTRDReconstructor::RecoParam()->GetFindableClusters());\r
+       Int_t threshold = Int_t(maximum * rec->GetRecoParam()->GetFindableClusters());\r
        Int_t col, row, lower, lower1, upper, upper1;\r
        for(Int_t ib = 0; ib < nPads; ib++){\r
                if(nCandidates >= AliTRDtrackerV1::kMaxTracksStack){\r
@@ -289,11 +291,13 @@ AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo
                // Analysis output\r
                nCandidates++;\r
        }\r
-       if(!nCandidates) return 0x0;\r
+       if(!nCandidates) return kFALSE;\r
        \r
        Float_t pos[3], sig[2];\r
        Short_t signal[7]; memset(&signal[0], 0, 7*sizeof(Short_t));\r
-       AliTRDchamberTimeBin *fakeLayer = new AliTRDchamberTimeBin(plane, stack, sector, z0, zl);\r
+       \r
+  new(fakeLayer) AliTRDchamberTimeBin(layer, stack, sector, z0, zl);\r
+  fakeLayer->SetReconstructor(rec);\r
        AliTRDcluster *cluster = 0x0;\r
        if(nCandidates){\r
                UInt_t fakeIndex = 0;\r
@@ -328,14 +332,14 @@ AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo
        fakeLayer->BuildIndices();\r
        //fakeLayer->PrintClusters();\r
        \r
-       if(AliTRDReconstructor::RecoParam()->GetStreamLevel() >= 3){\r
+       if(rec->GetStreamLevel(AliTRDReconstructor::kTracker) >= 3){\r
                //TMatrixD hist(nRows, nCols);\r
                //for(Int_t i = 0; i < nRows; i++)\r
                //      for(Int_t j = 0; j < nCols; j++)\r
                //              hist(i,j) = histogram[i][j];\r
                TTreeSRedirector &cstreamer = *AliTRDtrackerV1::DebugStreamer();\r
                cstreamer << "GetSeedingLayer"\r
-               << "plane="      << plane\r
+               << "layer="      << layer\r
                << "ymin="       << ymin\r
                << "ymax="       << ymax\r
                << "zmin="       << zmin\r
@@ -345,6 +349,6 @@ AliTRDchamberTimeBin *AliTRDtrackingChamber::GetSeedingLayer(AliTRDgeometry *geo
                << "\n";\r
        }\r
        \r
-       return fakeLayer;\r
+       return kTRUE;\r
 }\r
 \r