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
# 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}" )
#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+;
/////////////////////////////////////////////////////////////////////////////////
#include <AliITSRecPointU.h>
-
+ClassImp(AliITSRecPointU)
//_____________________________________________________________
AliITSRecPointU::AliITSRecPointU():
AliITSRecPoint()
#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)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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");
}
trackUp->SetMinNPoints(GetRecoParam()->GetMinNPointsSA());
return trackUp;
+ } else {
+ AliITStrackerU *t = new AliITStrackerU();
+ return t;
+ }
}
//_______________________________________________________________________
--- /dev/null
+/**************************************************************************
+ * 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;
+}
--- /dev/null
+#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
// 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};
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);
{
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