Fix bug in building local list of valid files.
[u/mrichter/AliRoot.git] / MFT / AliMFTAnalysisTools.h
index 74c0f4c..e6e0a7f 100644 (file)
@@ -22,6 +22,9 @@
 #include "AliLog.h"
 #include "TMatrixD.h"
 #include "TClonesArray.h"
+#include "AliAODMCHeader.h"
+#include "AliGenEventHeader.h"
+#include "AliAODMCParticle.h"
 
 //====================================================================================================================================================
 
@@ -31,13 +34,18 @@ public:
 
   AliMFTAnalysisTools() : TObject() {;}
   virtual ~AliMFTAnalysisTools() {;}
-  
+
+  // In principle, the first two methods should be replaced by the third one
   static Bool_t ExtrapAODMuonToZ(AliAODTrack *muon, Double_t z, Double_t xy[2]);
   static Bool_t ExtrapAODMuonToZ(AliAODTrack *muon, Double_t z, Double_t xy[2], TLorentzVector &kinem);
   static Bool_t ExtrapAODMuonToZ(AliAODTrack *muon, Double_t z, Double_t xy[2], TLorentzVector &kinem, TMatrixD &cov);
 
-  static Double_t GetAODMuonOffset(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv);
-  static Double_t GetAODMuonWeightedOffset(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv);
+  static Bool_t ExtrapAODMuonToXY(AliAODTrack *muon, Double_t xy[2], Double_t &zFinal, TLorentzVector &kinem, TMatrixD &cov);
+
+  static Bool_t GetAODMuonOffset(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv, Double_t &offset);
+  static Bool_t GetAODMuonWeightedOffset(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv, Double_t &offset);
+
+  static Bool_t GetAODMuonOffsetZ(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv, Double_t &offset);
 
   static Bool_t CalculatePCA(AliAODDimuon *dimuon, Double_t *pca, Double_t &pcaQuality, TLorentzVector &kinem);
   static Bool_t CalculatePCA(TObjArray *muons, Double_t *pca, Double_t &pcaQuality, TLorentzVector &kinem);
@@ -53,6 +61,12 @@ public:
     else return !(muon->GetMFTClusterPattern() & (1<<(iPlane+AliMFTConstants::fNMaxPlanes)));
   }
 
+  static Bool_t IsCorrectMatch(AliAODTrack *muon);
+
+  static TString GetGenerator(Int_t label, AliAODMCHeader* header);
+  static void GetTrackPrimaryGenerator(AliAODTrack *track, AliAODMCHeader *header, TClonesArray *arrayMC, TString &nameGen);
+  static Bool_t IsTrackInjected(AliAODTrack *track, AliAODMCHeader *header, TClonesArray *arrayMC);
+
   static void ConvertCovMatrixMUON2AOD(const TMatrixD& covMUON, Double_t covAOD[21]);
   static const TMatrixD ConvertCovMatrixAOD2MUON(AliAODTrack *muon);