MFT Analysis support classes added
[u/mrichter/AliRoot.git] / MFT / AliMFTSupport.h
1 #ifndef AliMFTSupport_H
2 #define AliMFTSupport_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //====================================================================================================================================================
8 //
9 //      Support class for various common operation on MFT objects
10 //
11 //      Contact author: antonio.uras@cern.ch
12 //
13 //====================================================================================================================================================
14
15 #include "TObject.h"
16 #include "AliAODTrack.h"
17 #include "AliAODDimuon.h"
18 #include "TLorentzVector.h"
19 #include "AliMFTConstants.h"
20 #include "TDatabasePDG.h"
21 #include "TMath.h"
22 #include "AliLog.h"
23
24 //====================================================================================================================================================
25
26 class AliMFTSupport : public TObject {
27
28 public:
29
30   AliMFTSupport() : TObject() {;}
31   virtual ~AliMFTSupport() {;}
32   
33   static Bool_t ExtrapAODMuonToZ(AliAODTrack *muon, Double_t z, Double_t xy[2]);
34   static Bool_t RefitAODDimuonWithCommonVertex(AliAODDimuon *dimuon, Double_t *vertex, TLorentzVector &kinem);
35
36   static Bool_t PlaneExists(AliAODTrack *muon, Int_t iPlane) { return muon->GetMFTClusterPattern() & (1<<iPlane); }
37
38   static Bool_t IsWrongCluster(AliAODTrack *muon, Int_t iPlane) { 
39     if (!PlaneExists(muon, iPlane)) return kFALSE;
40     else return !(muon->GetMFTClusterPattern() & (1<<(iPlane+AliMFTConstants::fNMaxPlanes)));
41   }
42
43   ClassDef(AliMFTSupport,1)
44     
45 };
46
47 //====================================================================================================================================================
48
49 #endif