New MFT analysis tool
authorauras <antonio.uras@cern.ch>
Sat, 27 Dec 2014 11:51:44 +0000 (12:51 +0100)
committerauras <antonio.uras@cern.ch>
Sat, 27 Dec 2014 11:51:44 +0000 (12:51 +0100)
MFT/MFTbase/AliMFTAnalysisTools.cxx
MFT/MFTbase/AliMFTAnalysisTools.h

index da4132c..f92a264 100644 (file)
@@ -32,6 +32,7 @@
 #include "AliLog.h"
 #include "TObjArray.h"
 #include "TDecompLU.h"
+#include "TRandom.h"
 
 #include "AliMFTAnalysisTools.h"
 
@@ -248,6 +249,25 @@ Bool_t AliMFTAnalysisTools::GetAODMuonOffset(AliAODTrack *muon, Double_t xv, Dou
 
 //====================================================================================================================================================
 
+Bool_t AliMFTAnalysisTools::GetAODMuonOffsetSmeared(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv,
+                                                   Double_t smearOffsetX, Double_t smearOffsetY, Double_t &offset) {
+
+  // Evaluate transverse offset adding to it an additional smearing (independently along the x and y directions)
+  
+  Double_t xy[2] = {0};
+  ExtrapAODMuonToZ(muon, zv, xy);
+
+  xy[0] = gRandom->Gaus(xy[0], smearOffsetX);
+  xy[1] = gRandom->Gaus(xy[1], smearOffsetY);
+  
+  offset = TMath::Sqrt((xv-xy[0])*(xv-xy[0]) + (yv-xy[1])*(yv-xy[1]));
+
+  return kTRUE;
+
+}
+
+//====================================================================================================================================================
+
 Bool_t AliMFTAnalysisTools::GetAODMuonOffsetZ(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv, Double_t &offset) {
 
   Double_t xy[2] = {xv, yv};
index 6d27ac7..5cb013f 100644 (file)
@@ -43,6 +43,7 @@ public:
   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 GetAODMuonOffsetSmeared(AliAODTrack *muon, Double_t xv, Double_t yv, Double_t zv, Double_t smearOffsetX, Double_t smearOffsetY, 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);