/[PAMELA software]/PamCut/CollectionActions/RefitTrackAction/RefitTrackAction.h
ViewVC logotype

Diff of /PamCut/CollectionActions/RefitTrackAction/RefitTrackAction.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.2.2 by pam-fi, Tue May 11 15:32:07 2010 UTC revision 1.1.2.5 by pam-fi, Thu Jun 24 17:21:48 2010 UTC
# Line 15  Line 15 
15   *   *
16   * This action refits the TRK track using only level 2 data. This means that it will use the same   * This action refits the TRK track using only level 2 data. This means that it will use the same
17   * clusters which are associated to the track, with the possibility to mask or shift some of them.   * clusters which are associated to the track, with the possibility to mask or shift some of them.
18     * If a refit fails the event will not be discarded (since this is not a cut) but chi2 will be negative,
19     * and the event will be subsequently discarded by an eventual TrkPhSinCut.
20     * This action can be used also before TrkPhSinCut, since it checks for the existence of at least
21     * one track before refitting. The refitted track is always the first "physical" track; the ordering
22     * criterion can be set using #SetSortingMethod(). If, instead, this action is placed after a TrkPhsinCut
23     * it is not necessary to set this parameter, since the value used for TrkPhSinCut will be automatically
24     * used (of course, it can be used as well if a different ordering may be needed).
25     * Before fitting, the track parameters (measured impact positions and "good" flags) are reset to the
26     * original values. This means that if two or more RefitTrackAction objects are used, each of them will
27     * try to refit the original track of the current event (applying its own mask and spreads), regardless of
28     * what was obtained with previous refits.
29   * For a complete reprocess and fit use #ReprocessTrackAction.   * For a complete reprocess and fit use #ReprocessTrackAction.
30   */   */
31  class RefitTrackAction: public CollectionAction {  class RefitTrackAction: public CollectionAction {
# Line 28  public: Line 39  public:
39     * @param maskedViews The excluded views. 0 means that all the views will be used, while #T6X means that the     * @param maskedViews The excluded views. 0 means that all the views will be used, while #T6X means that the
40     *                    X view of the last tracker plane will be ignored. For other combinations, sum up the values     *                    X view of the last tracker plane will be ignored. For other combinations, sum up the values
41     *                    defined in #TRKLAYERS: T1X + T1Y will exclude the whole first plane, for example.     *                    defined in #TRKLAYERS: T1X + T1Y will exclude the whole first plane, for example.
42     * @param trkParamsFile The file containing the tracker parameters to be used. Default value corresponds to the standard     * @param trkParamsFile The file containing the tracker alignment parameters to be used. Default value corresponds to
43     *                      parameters used for data reduction.     *                      the values contained in the official software calibration directory.
44     */     */
45    RefitTrackAction(const char *actionName, float spreadX = 0., float spreadY = 0., int maskedViews = 0.,  TString trkParamsFile = "") :    RefitTrackAction(const char *actionName, float spreadX = 0., float spreadY = 0., int maskedViews = 0,
46      CollectionAction(actionName), _spreadX(spreadX), _spreadY(spreadY), _maskedViews(maskedViews), _trkParamsFile(trkParamsFile) {        TString trkParamsFile = "") :
47        CollectionAction(actionName), _spreadX(spreadX), _spreadY(spreadY), _maskedViews(maskedViews), _trkParamsFile(
48            trkParamsFile), _sortingMethod(NULL) {
49    
50    }    }
51    
# Line 43  public: Line 56  public:
56    /* @brief The refitting procedure.    /* @brief The refitting procedure.
57     *     *
58     * This will refit the tracker track introducing the mask and spreads defined in the constructor.     * This will refit the tracker track introducing the mask and spreads defined in the constructor.
59       *
60       * @param  event The event to analyze.
61     */     */
62    void OnGood(PamLevel2 *event);    void OnGood(PamLevel2 *event);
63    
# Line 51  public: Line 66  public:
66    
67    }    }
68    
69      /*! @brief Sets the track sorting criterion.
70       *
71       * The action refits the first track, which is the one obtained with PamLevel2::GetTrack(0). This method can
72       * be used to set the sorting criterion used to determine which track is the first.
73       *
74       * @param sortingMethod The sorting method. Format has to be compatible with the argument of PamLevel2::SetSortingMethod.
75       */
76      void SetSortingMethod(const char *sortingMethod) {
77        _sortingMethod = sortingMethod;
78      }
79    
80  private:  private:
81    
82    float _spreadX, _spreadY;    float _spreadX, _spreadY;
# Line 59  private: Line 85  private:
85    static TRandom3 *_r3;    static TRandom3 *_r3;
86    static long int _currEvent;    static long int _currEvent;
87    
88    float _xmBackup[6], _ymBackup[6];    static float _xmBackup[], _ymBackup[];
89    int _layerXBackup[6], _layerYBackup[6];    static int _layerXBackup[], _layerYBackup[];
90    
91    TString _trkParamsFile;    TString _trkParamsFile;
92    static TString _currTrkParamsFile;    static TString _currTrkParamsFile;
93    
94      const char *_sortingMethod;
95  };  };
96    
97  #endif /* REFITTRACKACTION_H_ */  #endif /* REFITTRACKACTION_H_ */

Legend:
Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.5

  ViewVC Help
Powered by ViewVC 1.1.23