]>
Commit | Line | Data |
---|---|---|
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 | ||
11 | class 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 |