- New class (AliITStrackerU) for combined tracking. The reconstructor has been modifi...
authoramastros <amastros@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Feb 2011 09:22:31 +0000 (09:22 +0000)
committeramastros <amastros@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Feb 2011 09:22:31 +0000 (09:22 +0000)
  the general tracker and the standalon one (AliITStrackerUpgrade). The default choice is the general tracker.
- ITSupgrade standard constructor : cilinder lengths set as in standard ITS, the upgrade beampipe is not built by default anymore
- fix in AliITSRecPointU

ITS/CMakelibITSUpgradeRec.pkg
ITS/ITSUpgradeRecLinkDef.h
ITS/UPGRADE/AliITSRecPointU.cxx
ITS/UPGRADE/AliITSUpgradeReconstructor.cxx
ITS/UPGRADE/AliITStrackerU.cxx [new file with mode: 0644]
ITS/UPGRADE/AliITStrackerU.h [new file with mode: 0644]
ITS/UPGRADE/AliITSupgrade.cxx
ITS/UPGRADE/AliITSupgrade.h

index 3d1b569..e73ad01 100644 (file)
@@ -25,7 +25,7 @@
 # SHLIBS - Shared Libraries and objects for linking (Executables only)           #
 #--------------------------------------------------------------------------------#
 
-set ( SRCS     UPGRADE/AliITSlayerUpgrade.cxx UPGRADE/AliITStrackerUpgrade.cxx UPGRADE/AliITStrackU.cxx UPGRADE/AliITSUpgradeReconstructor.cxx UPGRADE/AliITSUpgradeClusterList.cxx UPGRADE/AliITSUpgradeClusterListNode.cxx UPGRADE/AliITSUpgradeClusterFinder.cxx)
+set ( SRCS     UPGRADE/AliITSlayerUpgrade.cxx UPGRADE/AliITStrackerUpgrade.cxx UPGRADE/AliITStrackU.cxx UPGRADE/AliITStrackerU.cxx UPGRADE/AliITSUpgradeReconstructor.cxx UPGRADE/AliITSUpgradeClusterList.cxx UPGRADE/AliITSUpgradeClusterListNode.cxx UPGRADE/AliITSUpgradeClusterFinder.cxx)
 
 string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
 
index 41e8a13..4facc81 100644 (file)
@@ -16,6 +16,7 @@
 #pragma link C++ class AliITSlayerUpgrade+;
 #pragma link C++ class AliITStrackerUpgrade+;
 #pragma link C++ class AliITStrackU+;
+#pragma link C++ class AliITStrackerU+;
 #pragma link C++ class AliITSUpgradeReconstructor+;
 #pragma link C++ class AliITSUpgradeClusterList+;
 #pragma link C++ class AliITSUpgradeClusterListNode+;
index c1d8580..f623f17 100644 (file)
@@ -20,7 +20,7 @@
 /////////////////////////////////////////////////////////////////////////////////
 
 #include <AliITSRecPointU.h>
-
+ClassImp(AliITSRecPointU)
 //_____________________________________________________________
 AliITSRecPointU::AliITSRecPointU():
     AliITSRecPoint()
index e2cfa9f..c591605 100644 (file)
 #include "AliITSUpgradeReconstructor.h" //class header
 #include "AliITSDetTypeRec.h"
 #include "AliITS.h"              //Reconstruct() 
-#include "AliCDBEntry.h"           //ctor
-#include "AliCDBManager.h"         //ctor
 #include "AliESDEvent.h"           //FillEsd()
 #include "AliRawReader.h"          //Reconstruct() for raw digits
 #include "AliRun.h"
 #include "AliLog.h"                //
 #include "AliITSRawStream.h"     //ConvertDigits()
-#include "AliRunLoader.h" 
-#include "AliDataLoader.h"
-#include "AliITSLoader.h"
 #include "AliITSsegmentationUpgrade.h"
 #include "AliITSUpgradeClusterFinder.h"
 #include "AliITStrackerUpgrade.h"
-#include "AliStack.h"
-#include "TFile.h"
-#include "TNtupleD.h"
+#include "AliITStrackerU.h"
 ClassImp(AliITSUpgradeReconstructor)
 
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -150,9 +143,11 @@ void AliITSUpgradeReconstructor::Reconstruct(TTree* digitsTree, TTree* clustersT
 AliTracker* AliITSUpgradeReconstructor::CreateTracker() const
 {
   //
-  // create the ITSUpgrade tracker
-  //
+  // Create the ITSUpgrade tracker switching betqween the general case and the StandAlone case. 
+  // AliITStrackerUpgrade is used only for SA tracks.
+  // 
 
+  if(GetRecoParam()->GetTrackerSAOnly()){
   AliITStrackerUpgrade *trackUp = new AliITStrackerUpgrade();
   if(GetRecoParam()->GetTrackerSAOnly()) trackUp->SetSAFlag(kTRUE);
   if(trackUp->GetSAFlag())AliDebug(1,"Tracking Performed in ITS only\n");
@@ -165,5 +160,9 @@ AliTracker* AliITSUpgradeReconstructor::CreateTracker() const
   }
   trackUp->SetMinNPoints(GetRecoParam()->GetMinNPointsSA());
   return trackUp;
+  } else {
+  AliITStrackerU *t = new AliITStrackerU();
+  return t;
+  }
 }
 //_______________________________________________________________________
diff --git a/ITS/UPGRADE/AliITStrackerU.cxx b/ITS/UPGRADE/AliITStrackerU.cxx
new file mode 100644 (file)
index 0000000..5f65f1c
--- /dev/null
@@ -0,0 +1,103 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+//-------------------------------------------------------------------------
+//  Implementation of the ITS Upgrade tracker mother class.              
+//-------------------------------------------------------------------------
+#include <TTree.h>
+#include <Riostream.h> 
+
+#include "AliITStrackerU.h"
+#include "AliESDEvent.h"
+
+
+ClassImp(AliITStrackerU)
+//_________________________________________________________________________
+AliITStrackerU::AliITStrackerU():
+AliTracker()
+{
+  //
+  // Default constructor
+  //
+
+ Info("AliITStrackerU","Default Costructor");
+  
+}
+
+AliITStrackerU::~AliITStrackerU()
+{
+ //
+ // Default destructor
+ //  
+}
+//_________________________________________________________________________
+Int_t AliITStrackerU::Clusters2Tracks(AliESDEvent */*event*/)
+{
+  //
+  // To be implemented 
+  //
+  
+  Info("Clusters2Tracks","To be implemented");
+  return 0;
+}
+//_________________________________________________________________________
+Int_t AliITStrackerU::PropagateBack(AliESDEvent * /*event*/)
+{
+  //
+  // To be implemented 
+  //
+  
+ Info("PropagateBack","To be implemented");
+  return 0;
+}
+//_________________________________________________________________________
+Int_t AliITStrackerU::RefitInward(AliESDEvent * /*event*/)
+{
+  //
+  // To be implemented 
+  //
+  
+  Info("RefitInward","To be implemented");
+  return 0;
+}
+//_________________________________________________________________________
+Int_t AliITStrackerU::LoadClusters(TTree * /*treeR*/)
+{
+  //
+  // To be implemented 
+  //
+  
+  Info("LoadClusters","To be implemented");
+  return 0;
+} 
+//_________________________________________________________________________
+void AliITStrackerU::UnloadClusters()
+{
+  //
+  // To be implemented 
+  //
+  
+  Info("UnloadClusters","To be implemented");
+} 
+//_________________________________________________________________________
+AliCluster * AliITStrackerU::GetCluster(Int_t /*index*/) const
+{
+  //
+  // To be implemented 
+  //
+  
+  Info("GetCluster","To be implemented");
+  return 0x0;
+} 
diff --git a/ITS/UPGRADE/AliITStrackerU.h b/ITS/UPGRADE/AliITStrackerU.h
new file mode 100644 (file)
index 0000000..2050e9a
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef ALIITSTRACKERU_H
+#define ALIITSTRACKERU_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//-------------------------------------------------------------------------
+//                ITS upgrade tracker base class
+//-------------------------------------------------------------------------
+
+#include "AliTracker.h"
+#include "AliESDEvent.h"
+
+class TTree;
+
+//-------------------------------------------------------------------------
+class AliITStrackerU : public AliTracker {
+
+  public:
+  AliITStrackerU();
+  virtual ~AliITStrackerU();
+
+  virtual Int_t Clusters2Tracks(AliESDEvent *event);
+  virtual Int_t PropagateBack(AliESDEvent *event);
+  virtual Int_t RefitInward(AliESDEvent *event);
+  virtual Int_t LoadClusters(TTree *);
+  virtual void UnloadClusters();
+  virtual AliCluster *GetCluster(Int_t index) const;
+  
+  
+  private:
+      
+  AliITStrackerU(const AliITStrackerU&);
+  AliITStrackerU &operator=(const AliITStrackerU &tr);
+  
+  ClassDef(AliITStrackerU,1)   //ITS upgrade tracker
+    
+};
+#endif
index a580173..a352767 100644 (file)
@@ -87,10 +87,11 @@ AliITSupgrade::AliITSupgrade(const char *name,const char *title, Bool_t isBeamPi
   // Default values are used in order to simulate the standard ITS material budget (see The ALICE Collaboration et al 2008 JINST 3 S08002 - Figure 3.2).
   // The cell segmentation is chosen to achieve the tracking resolution as described in Table 3.2 of The ALICE Collaboration et al 2008 JINST 3 S08002,
   // apart from SPD0 where the 9 um value is considered : resolution*sqrt(12)
+  // Cilinder lenghts are chosen according to Table 1 of the Alignment paper : http://iopscience.iop.org/1748-0221/5/03/P03003
 
   Double_t xsz[6]={31.18*1e-04,41.6*1e-04,131.6*1e-04,131.6*1e-04,69.3*1e-04,69.3*1e-04};
   Double_t zsz[6]={416*1e-04,416*1e-04,97*1e-04,97*1e-04,2875*1e-04,2875*1e-04};
-  Double_t Lhalf[6]={80.,80.,80.,80.,80.,80.};
+  Double_t Lhalf[6]={14.1,14.1,22.2,29.7,43.1,48.9};
   Double_t r[6]={4.,7.6,14.9,23.8,39.1,43.6};
   Double_t thick[6]={75.*1e-04,150.*1e-04,150.*1e-04,150.*1e-04,150.*1e-04,150.*1e-04};
 
@@ -564,9 +565,9 @@ void AliITSupgrade::PrintSummary()
 
   if(!fSegmentation) fSegmentation= new AliITSsegmentationUpgrade();
   printf(" %10s %10s %10s %10s %10s %10s %10s %10s\n","Name","R [cm]","x/X0 [%]","Phi res[um]","Z res[um]","X segm[um]","Y segm[um]","widths [um]");
-
-   printf(" Beampipe   %10.3f %10f %10s %10s %10s %10s %10.1f\n", fRadiusBP, 100.*fWidthBP/beX0,"-","-","-","-",fWidthBP*1.e+4); 
-  //else printf("     -------  No Beam Pipe Upgrade ---------------- \n");
+  
+   if(fBeampipe) printf(" Beampipe   %10.3f %10f %10s %10s %10s %10s %10.1f\n", fRadiusBP, 100.*fWidthBP/beX0,"-","-","-","-",fWidthBP*1.e+4); 
+   else printf(" * No Beam Pipe Upgrade  \n");
   for(Int_t i=0; i< fNlayers; i++){
     printf(" Si Layer %1i %10.3f %10f %10.2f %10.2f %10.2f %10.2f %10.1f\n",i, fRadii.At(i), 100.*fWidths.At(i)/siX0, (fSegmentation->GetCellSizeX(i) *1.e+4)/TMath::Sqrt(12.), (fSegmentation->GetCellSizeZ(i)*1.e+4)/TMath::Sqrt(12.),fSegmentation->GetCellSizeX(i) *1.e+4, fSegmentation->GetCellSizeZ(i)*1.e+4,fWidths.At(i)*1.e+4);
     printf(" Cu Layer   %10.3f %10f %10s %10s %10s %10s %10.1f\n", fRadiiCu.At(i), 100.*fWidthsCu.At(i)/cuX0,"-","-","-","-",fWidthsCu.At(i)*1.e+4);
index 5ad30fc..d6decf9 100644 (file)
@@ -37,7 +37,7 @@ class AliITSupgrade : public AliITS //TObject-TNamed-AliModule-AliDetector-AliIT
 {
  public:
   AliITSupgrade();                                                              //default ctor
-  AliITSupgrade(const char *name, const char *title, Bool_t isBeamPipe=kTRUE);  //ctor for standard ITS 
+  AliITSupgrade(const char *name, const char *title, Bool_t isBeamPipe=kFALSE);  //ctor for standard ITS 
   AliITSupgrade(const char *name, const char *title, TArrayD widths, TArrayD radii,TArrayD halfLengths, TArrayD radiiCu, TArrayD widthsCu, TArrayS copper,Bool_t bp, Double_t radiusBP, Double_t widthPB, Double_t halfLengthsBP);  //ctor
   virtual       ~AliITSupgrade();                                       //dtor
   Int_t IsVersion() const {return 110;}// same as ITSv11Hybrid to comply with the AliITSInitGeom cases