]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRefitter.h
adding switches for 2011 data and so that PID doesnt crash for local testing
[u/mrichter/AliRoot.git] / MUON / AliMUONRefitter.h
index df700ff9310a7906f54d5f21706558cbd81566c9..0498937ecf5ce6673bccb3bec5794c3d14e69f01 100644 (file)
@@ -22,29 +22,32 @@ class AliMUONESDInterface;
 class AliMUONVClusterStore;
 class AliMUONVTrackStore;
 class AliMUONTrack;
+class AliMUONRecoParam;
 
 class AliMUONRefitter : public TObject
 {
 public:
   
-  AliMUONRefitter();
+  AliMUONRefitter(const AliMUONRecoParam* recoParam);
   virtual ~AliMUONRefitter();
   
   /// connect to the ESD interface containing MUON data to refit
-  void Connect(AliMUONESDInterface* esdInterface) {fESDInterface = esdInterface;}
+  void Connect(const AliMUONESDInterface* esdInterface) {fkESDInterface = esdInterface;}
   
   // re-reconstruct all tracks (clusters) in the ESD event
   AliMUONVTrackStore* ReconstructFromDigits();
   AliMUONVTrackStore* ReconstructFromClusters();
   
   // refit a particular track in the ESD event
-  AliMUONTrack* RetrackFromDigits(Int_t iTrack);
-  AliMUONTrack* RetrackFromClusters(Int_t iTrack);
+  AliMUONTrack* RetrackFromDigits(UInt_t trackId);
+  AliMUONTrack* RetrackFromClusters(UInt_t trackId);
   
   // re-clusterize a particular cluster in the ESD event
-  AliMUONVClusterStore* ReClusterize(Int_t iTrack, Int_t iCluster);
+  AliMUONVClusterStore* ReClusterize(UInt_t trackId, UInt_t clusterId);
   AliMUONVClusterStore* ReClusterize(UInt_t clusterId);
   
+  // set the first index of clusters produced by this refitter (to build its uniqueID)
+  void SetFirstClusterIndex(Int_t index) {nextClusterIndex = (index >= 0) ? index : 0;}
   
 protected:
   
@@ -54,19 +57,22 @@ protected:
   
 private:
   
-  void                   CreateGeometryTransformer();
-  void                   CreateClusterServer(AliMUONGeometryTransformer& transformer);
+  void CreateGeometryTransformer();
+  void CreateClusterServer(AliMUONGeometryTransformer& transformer);
   
-  void AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore);
+  AliMUONTrack* RetrackFromDigits(const AliMUONTrack& track);
   
+  Bool_t AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore);
   
 private:
     
+  const AliMUONRecoParam*     fkRecoParam;          ///< pointer to reco param (not owner)
+  const AliMUONESDInterface*  fkESDInterface;       ///< container of MUON tracks/clusters/digits (not owner)
   AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer (owner)
   AliMUONVClusterServer*      fClusterServer;       ///< clusterizer (owner)
   AliMUONVTrackReconstructor* fTracker;             ///< tracker (owner)
-  AliMUONESDInterface*        fESDInterface;        ///< container of MUON tracks/clusters/digits (not owner)
   
+  Int_t nextClusterIndex; ///< Index of the next cluster produced by this refitter (to build its uniqueID)
   
   ClassDef(AliMUONRefitter,0)
 };