]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSRealignTracks.h
Restoring backward compatibility of the SSD calibration objects + output of the SSD...
[u/mrichter/AliRoot.git] / ITS / AliITSRealignTracks.h
CommitLineData
40053737 1#ifndef ALIITSREALIGNTRACKS_H
2#define ALIITSREALIGNTRACKS_H
3
4#include <TArray.h>
5#include <TFile.h>
6#include <TArray.h>
7#include "AliGeomManager.h"
8#include "AliAlignmentTracks.h"
9#include "AliAlignObjParams.h"
10
11class AliITSRealignTracks: public AliAlignmentTracks {
12 public:
13
14 AliITSRealignTracks():
15 AliAlignmentTracks(),
16 fSurveyObjs(0),
17 fgeomfilename(),
18 fmintracks(0),
19 fCovIsUsed(kFALSE),
20 fUpdateCov(kFALSE){}
21
22 AliITSRealignTracks(TString minimizer,Int_t fit=0,Bool_t covUsed=kFALSE,TString fileintro="AliTrackPoints.root",TString geometryfile="geometry.root",TString misalignmentFile="",TString startingfile="");
23 AliITSRealignTracks(const AliITSRealignTracks &realignTracks);
24 AliITSRealignTracks& operator=(const AliITSRealignTracks& obj);
25 ~AliITSRealignTracks();
26
27 void InitAlignObjs();
28 Bool_t InitSurveyObjs(Bool_t infinite=kFALSE,Double_t factor=1.,Bool_t fromfile=kFALSE,TString filename="",TString arrayName="");
29 void ResetAlignObjs();
30 void DeleteSurveyObjs();
31 Bool_t SelectFitter(Int_t fit,Int_t minTrackPoint=2);
32 Bool_t SelectMinimizer(TString minimizer,Int_t minpoints=1,const Bool_t *coord=0x0);
33 void SetMinNtracks(Int_t minNtracks){fmintracks=minNtracks;}
34 void SetCovUpdate(Bool_t covupdate){fUpdateCov=covupdate;}
35 void SetGeomFilename(TString geomfilename){fgeomfilename=geomfilename;}
36 // Int_t LoadPoints(const TArrayI *volids, AliTrackPointArray** &points);
37 Bool_t ReadAlignObjs(const char *alignObjFileName = "AlignObjs.root", const char* arrayName = "Alignment");
38 void RealignITSVolIndependent(Int_t iter1,Int_t iterations,Int_t minNtracks,Int_t layer=0,Int_t minTrackPoint=6);
39 void RealignITStracks(TString minimizer,Int_t fit,Int_t iter1,Int_t iterations,Int_t minNtracks,Int_t layer,Int_t minTrackPoint,Bool_t covUsed,TString misalignmentFile,TString startingfile,Int_t doGlobal);
40 Bool_t AlignVolumesITS(const TArrayI *volids, const TArrayI *volidsfit,AliGeomManager::ELayerID layerRangeMin,AliGeomManager::ELayerID layerRangeMax,Int_t iterations);
41 Bool_t FirstAlignmentSPD(Int_t minNtracks,Int_t iterations,TArrayI *volidsSet=0x0);
42 Bool_t FirstAlignmentLayers(Bool_t *layers,Int_t minNtracks,Int_t iterations,TArrayI *volidsSet=0x0);
43 Bool_t SPDmodulesAlignToSSD(Int_t minNtracks,Int_t iterations);
44 Bool_t AlignSPDBarrel(Int_t iterations);
45 Bool_t AlignSPDHalfBarrel(Int_t method,Int_t iterations);
46 Bool_t AlignLayer(Int_t layer,Int_t iterations);
47 Bool_t AlignLayersToLayers(Int_t *layer,Int_t iterations);
48 Bool_t AlignLayerToSPDHalfBarrel(Int_t layer,Int_t updown,Int_t iterations);
49 Bool_t AlignLayerToSector(Int_t layer,Int_t sector,Int_t iterations);
50 Bool_t AlignSPDSectorToOuterLayers(Int_t sector,Int_t iterations);
51 Bool_t AlignSPDSectorWithSectors(Int_t sector,Int_t iterations);
52 Bool_t AlignSPDSectorsWithSectors(Int_t *sectorIN,Int_t *sectorFit,Int_t iterations);
53 Bool_t AlignSPDHalfBarrelToHalfBarrel(Int_t updown,Int_t iterations);
54 Bool_t AlignSPDHalfBarrelToSectorRef(Int_t sector,Int_t iterations);
55 Bool_t AlignSPD1SectorRef(Int_t sector,Int_t iterations);
56 //masera void AlignGlobalToSectRef(Int_t sector,Int_t minNtracks=100);
57 TArrayI* GetLayersVolUID(Int_t *layer);
58 AliAlignObjParams* MediateAlignObj(TArrayI *volIDs,Int_t lastVolid);
59 TArrayI* GetSPDSectorsVolids(Int_t *sectors);
60 TArrayI* SelectLayerInVolids(const TArrayI *volidsIN,AliGeomManager::ELayerID layer);
61 TArrayI* JoinVolArrays(const TArrayI *vol1,const TArrayI *vol2);
62 TArrayI* IntersectVolArray(const TArrayI *vol1,const TArrayI *vol2);
63 TArrayI* ExcludeVolidsFromVolidsArray(const TArrayI *volidsToExclude,const TArrayI *volStart);
64 TArrayI* GetLayerVolumes(Int_t *layer);
65
66
67 private:
68
69 AliAlignObj ***fSurveyObjs; // Array with survey measurments
70 TString fgeomfilename; // Geometry file name
71 Double_t fmintracks; // minimum number of tracks to realign a set of volumes
72 Bool_t fCovIsUsed; // indicates wheter AlignObj's cov. matrix is used in loading the points
73 Bool_t fUpdateCov; // Update of Covariance for AlignObjs
74
75 ClassDef(AliITSRealignTracks,2)
76
77 };
78
79#endif