]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
1) Flag all track with kITSupg bit.
authorshahoian <shahoian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 May 2013 15:43:08 +0000 (15:43 +0000)
committershahoian <shahoian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 May 2013 15:43:08 +0000 (15:43 +0000)
2) Config.C is converted to 2xwider sensors for layers 3-6 and material
budget of 0.3% for layers 0-2 and 0.8% for layers 3-6.

ITS/UPGRADE/AliITSUTrackerGlo.cxx
ITS/UPGRADE/testITSU/Config.C
ITS/UPGRADE/testITSU/runanLoc.C

index e96ea0c573839429309a3b0dae169402bb2407d0..01063b7ce62e056acb20c92ae0f5119269ab75ed 100644 (file)
@@ -214,7 +214,11 @@ Int_t AliITSUTrackerGlo::Clusters2Tracks(AliESDEvent *esdEv)
   }
   int* esdTrackIndex = fESDIndex.GetArray();
   float* trPt = esdTrPt.GetArray();
-  for (int itr=fNTracksESD;itr--;) trPt[itr] = esdEv->GetTrack(itr)->Pt();
+  for (int itr=fNTracksESD;itr--;) {
+    AliESDtrack* esdTr = esdEv->GetTrack(itr);
+    esdTr->SetStatus(AliESDtrack::kITSupg);
+    trPt[itr] = esdTr->Pt();
+  }
   Sort(fNTracksESD,trPt,esdTrackIndex,kTRUE);    
   //
   for (int icnd=0;icnd<nTrackCond;icnd++) {
@@ -253,7 +257,9 @@ Int_t AliITSUTrackerGlo::Clusters2Tracks(AliESDEvent *esdEv)
       fHypStore.Print();
     }
     FinalizeHypotheses();
+#ifdef  _ITSU_TUNING_MODE_
     CheckClusterUsage(); //!!RS
+#endif
     //
     //AliLog::SetClassDebugLevel("AliITSUTrackerGlo",0);     // in case wtc array was defined, uncomment this
   }
index 504933925f3bbca292215670ed5681af64cb437f..33426e766272961dc8d2cc8301c0fc7aa422814c 100644 (file)
@@ -60,6 +60,8 @@ const char * pprTrigConfName[] = {
   "p-p","Pb-Pb"
 };
 
+void CreateITSU();
+
 Float_t EtaToTheta(Float_t arg);
 
 static PprTrigConf_t strig = kDefaultPPTrig;// default PP trigger configuration
@@ -340,124 +342,8 @@ void Config()
   if (iITS)
     {
       //=================== ITS parameters ============================
-      //
-      // sensitive area 13x15mm (X,Z) with 20x20 micron pitch, 2mm dead zone on readout side and 50 micron guardring
-      const double kSensThick = 18e-4;
-      const double kPitchX = 20e-4;
-      const double kPitchZ = 20e-4;
-      const int    kNRow   = 650; 
-      const int    kNCol   = 750;
-      const int    kNChips = 4;
-      //
-      const double kReadOutEdge = 0.2;   // width of the readout edge (passive bottom)
-      const double kGuardRing   = 50e-4; // width of passive area on left/right/top of the sensor
-      // create segmentations:
-      AliITSUSegmentationPix* seg0 = new AliITSUSegmentationPix(0,        // segID (0:9)
-                                                               kNChips,  // chips per module
-                                                               kNChips*kNCol,    // ncols (total for module)
-                                                               kNRow,    // nrows
-                                                               kPitchX,  // default row pitch in cm
-                                                               kPitchZ,  // default col pitch in cm
-                                                               kSensThick,  // sensor thickness in cm
-                                                               -1,     // no special left col between chips
-                                                               -1,     // no special right col between chips
-                                                               kGuardRing, // left
-                                                               kGuardRing, // right
-                                                               kGuardRing, // top
-                                                               kReadOutEdge  // bottom
-                                                               );    // see AliITSUSegmentationPix.h for extra options
-      seg0->Store(AliITSUGeomTGeo::GetITSsegmentationFileName());
-      //
-      seg0->Print();
-      //
-      const double kMinOvl = 0.01; // require active zones overlap
-      const double kPhi0 = 0.;  // az.angle of 1st stave
-      const double kTilt = 10.; // tilt in degrees
-      const double kLrTick03 = 280e-4;   // stave thickness for 0.3%X layers
-      const double kLrTick05 = 470e-4;   // stave thickness for 0.5%X layers
-      double xActProj = seg0->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
-      double dzLr,rLr,ovlA;
-      int nStaveLr,nModPerStaveLr,idLr;
-      //      virtual void   DefineLayerTurbo(const Int_t nlay, const Double_t r,  const Double_t zlen, const Int_t nladd,   const Int_t nmod, const Double_t width,
-      //                                 const Double_t tilt,   const Double_t lthick = 0.,    const Double_t dthick = 0.,   const UInt_t detType=0);
-      AliITSUv11 *ITS  = new AliITSUv11("ITS Upgrade",7);
-      idLr = 0;
-      rLr = 2.2;
-      dzLr = 2*11.2;   // min Z to cover
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick03, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
-      idLr = 1;
-      rLr = 2.8;
-      dzLr = 2*12.1;
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++;);          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick03, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
-      idLr = 2;
-      rLr = 3.6;
-      dzLr = 2*13.4;
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick03, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
-      idLr = 3;
-      rLr = 20.0;
-      dzLr = 2*39.0;
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick05, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
-      idLr = 4;
-      rLr = 22.0;
-      dzLr = 2*41.8;
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick05, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
-      idLr = 5;
-      rLr = 40.0;
-      dzLr = 2*71.2;
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick05, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
-      idLr = 6;
-      rLr = 43.0;
-      dzLr = 2*74.3;
-      nModPerStaveLr = 1+dzLr/seg0->Dz();
-      ovlA = -1;
-      nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
-      do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );          
-      ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg0->Dz(), nStaveLr, nModPerStaveLr, seg0->Dx(), kTilt, kLrTick05, seg0->Dy(), seg0->GetDetTypeID());
-      printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
-            idLr,rLr,nModPerStaveLr*seg0->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
-      //
+      CreateITSU();
+
     }
  
   if (iTPC)
@@ -564,3 +450,164 @@ void Config()
 Float_t EtaToTheta(Float_t arg){
   return (180./TMath::Pi())*2.*atan(exp(-arg));
 }
+
+//---------------------------------------
+void CreateITSU()
+{
+  // build ITS upgrade detector
+  // sensitive area 13x15mm (X,Z) with 20x20 micron pitch, 2mm dead zone on readout side and 50 micron guardring
+  const double kSensThick = 18e-4;
+  const double kPitchX = 20e-4;
+  const double kPitchZ = 20e-4;
+  const int    kNRow   = 650; 
+  const int    kNCol   = 750;
+  const int    kNChips = 4;
+  const double kLrTick03 = 237e-4;   // -> effective thickness for ~0.3%X layers
+  const double kLrTick08 = 610e-4;   // -> effective thickness for ~0.8%X layers
+  //
+  const double kReadOutEdge = 0.2;   // width of the readout edge (passive bottom)
+  const double kGuardRing   = 100e-4; // width of passive area on left/right/top of the sensor
+  // create segmentations:
+  AliITSUSegmentationPix* seg0 = new AliITSUSegmentationPix(0,        // segID (0:9)
+                                                           kNChips,  // chips per module
+                                                           kNChips*kNCol,    // ncols (total for module)
+                                                           kNRow,    // nrows
+                                                           kPitchX,  // default row pitch in cm
+                                                           kPitchZ,  // default col pitch in cm
+                                                           kSensThick,  // sensor thickness in cm
+                                                           -1,     // no special left col between chips
+                                                           -1,     // no special right col between chips
+                                                           kGuardRing, // left
+                                                           kGuardRing, // right
+                                                           kGuardRing, // top
+                                                           kReadOutEdge  // bottom
+                                                           );    // see AliITSUSegmentationPix.h for extra options
+  seg0->Store(AliITSUGeomTGeo::GetITSsegmentationFileName());
+  //
+  AliITSUSegmentationPix* seg1 = new AliITSUSegmentationPix(1,        // segID (0:9)
+                                                           kNChips,  // chips per module
+                                                           kNChips*kNCol,    // ncols (total for module)
+                                                           2*kNRow,    // nrows for oute layers
+                                                           kPitchX,  // default row pitch in cm
+                                                           kPitchZ,  // default col pitch in cm
+                                                           kSensThick,  // sensor thickness in cm
+                                                           -1,     // no special left col between chips
+                                                           -1,     // no special right col between chips
+                                                           kGuardRing, // left
+                                                           kGuardRing, // right
+                                                           kReadOutEdge, // top   !!! readout from both sides
+                                                           kReadOutEdge  // bottom
+                                                           );    // see AliITSUSegmentationPix.h for extra options
+  seg1->Store(AliITSUGeomTGeo::GetITSsegmentationFileName());
+  //
+  seg0->Print();
+  seg1->Print();
+  //
+  const double kMinOvl = 0.005; // require active zones overlap
+  const double kPhi0 = 0.;  // az.angle of 1st stave
+  const double kTilt = 10.; // tilt in degrees
+  double dzLr,rLr,ovlA,xActProj;
+  AliITSUSegmentationPix* seg=0;
+  int nStaveLr,nModPerStaveLr,idLr;
+  //      virtual void   DefineLayerTurbo(const Int_t nlay, const Double_t r,  const Double_t zlen, const Int_t nladd,   const Int_t nmod, const Double_t width,
+  //                             const Double_t tilt,   const Double_t lthick = 0.,    const Double_t dthick = 0.,   const UInt_t detType=0);
+  AliITSUv11 *ITS  = new AliITSUv11("ITS Upgrade",7);
+  //
+  // INNER LAYERS
+  idLr = 0;
+  rLr = 2.2;
+  dzLr = 2*11.2;   // min Z to cover
+  seg = seg0;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick03, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  idLr = 1;
+  rLr = 2.8;
+  dzLr = 2*12.1;
+  seg = seg0;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++;);              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick03, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  idLr = 2;
+  rLr = 3.6;
+  dzLr = 2*13.4;
+  seg = seg0;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick03, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  // 
+  // MIDDLE LAYERS (double side readout sensors)
+  idLr = 3;
+  rLr = 20.0;
+  dzLr = 2*39.0;
+  seg = seg1;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick08, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  idLr = 4;
+  rLr = 22.0;
+  dzLr = 2*41.8;
+  seg = seg1;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick08, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  // 
+  // OUTER LAYERS (double side readout sensors)
+  idLr = 5;
+  rLr = 40.0;
+  dzLr = 2*71.2;
+  seg = seg1;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick08, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  idLr = 6;
+  rLr = 43.0;
+  dzLr = 2*74.3;
+  seg = seg1;
+  nModPerStaveLr = 1+dzLr/seg->Dz();
+  ovlA = -1;
+  xActProj = seg->DxActive()*TMath::Cos(kTilt*TMath::DegToRad()); // effective r-phi coverage by single stave
+  nStaveLr = 1 + rLr*TMath::Pi()*2/xActProj;
+  do { ovlA = 1.-rLr*TMath::Pi()*2/nStaveLr/xActProj; } while ( kMinOvl>=0 && ovlA<0.015 && nStaveLr++ );              
+  ITS->DefineLayerTurbo(idLr, kPhi0, rLr, nModPerStaveLr*seg->Dz(), nStaveLr, nModPerStaveLr, seg->Dx(), kTilt, kLrTick08, seg->Dy(), seg->GetDetTypeID());
+  printf("Add Lr%d: R=%.1f DZ:%.1f Staves:%3d NMod/Stave:%3d -> Active Overlap:%.1f\% (%d micron)\n",
+        idLr,rLr,nModPerStaveLr*seg->Dz()/2,nStaveLr,nModPerStaveLr,ovlA*100,int(ovlA*xActProj*1e4));
+  //
+  
+}
index 8fe83001eafde5a8d3317bca58a1b03aed010cfd..74e5ced4e8d18c0f82add207fb27743fdc388a3b 100644 (file)
@@ -33,7 +33,8 @@ void runanLoc(const char* inpData="AliESDs.root", const char* outFile="tstPerfAn
   task->SetEtaMin(-3);
   task->SetEtaMax(3);
   task->SetNPtBins(10);
-  task->SetPtMax(2);
+  task->SetNResBins(200);
+  task->SetPtMax(10);
   //
   // optionally set reconstructability condition
   task->SetTrackingConditions(GetTrackingConditions());