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

Annotation of /PamCut/CollectionActions/RefitTrackAction/RefitTrackAction.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.2.3 - (hide annotations) (download)
Thu Jun 3 14:14:12 2010 UTC (14 years, 6 months ago) by pam-fi
Branch: V8
Changes since 1.1.2.2: +24 -2 lines
File MIME type: text/plain
Negative chi2 assigned to badly-refitted tracks. The action now checks if at least one track exists before refitting (so it doesn't crashes on events without tracks).

1 pam-fi 1.1.2.1 /*
2     * RefitTrackAction.h
3     *
4     * Created on: 10/may/2010
5     * Author: N. Mori
6     */
7    
8     #ifndef REFITTRACKACTION_H_
9     #define REFITTRACKACTION_H_
10    
11     #include "../CollectionAction/CollectionAction.h"
12     #include <TRandom3.h>
13    
14     /*! @brief Track refitting.
15     *
16     * 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.
18 pam-fi 1.1.2.3 * 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 pam-fi 1.1.2.1 * For a complete reprocess and fit use #ReprocessTrackAction.
26     */
27     class RefitTrackAction: public CollectionAction {
28     public:
29    
30     /*! @brief Constructor
31     *
32     * @param actionName The action's name.
33     * @param spreadX The width of the gaussian spread applied to all the X view coordinates, in cm.
34     * @param spreadY The width of the gaussian spread applied to all the Y view coordinates, in cm.
35     * @param maskedViews The excluded views. 0 means that all the views will be used, while #T6X means that the
36     * X view of the last tracker plane will be ignored. For other combinations, sum up the values
37     * defined in #TRKLAYERS: T1X + T1Y will exclude the whole first plane, for example.
38 pam-fi 1.1.2.2 * @param trkParamsFile The file containing the tracker parameters to be used. Default value corresponds to the standard
39     * parameters used for data reduction.
40 pam-fi 1.1.2.1 */
41 pam-fi 1.1.2.3 RefitTrackAction(const char *actionName, float spreadX = 0., float spreadY = 0., int maskedViews = 0.,
42     TString trkParamsFile = "") :
43     CollectionAction(actionName), _spreadX(spreadX), _spreadY(spreadY), _maskedViews(maskedViews), _trkParamsFile(
44     trkParamsFile), _sortingMethod(NULL) {
45 pam-fi 1.1.2.1
46     }
47    
48     /*! @brief Destructor. */
49     ~RefitTrackAction() {
50     }
51    
52     /* @brief The refitting procedure.
53     *
54     * This will refit the tracker track introducing the mask and spreads defined in the constructor.
55     */
56     void OnGood(PamLevel2 *event);
57    
58     /*! @brief The finalization procedure. */
59     void Finalize() {
60    
61     }
62    
63 pam-fi 1.1.2.3 /* @brief Set the track sorting criterion
64     *
65     * The action refits the first track, which is the one obtained with PamLevel2::GetTrack(0). This method can
66     * be used to set the sorting criterion used to determine which track is the first.
67     *
68     * @param sortingMethod The sorting method. Format has to be compatible with the argument of PamLevel2::SetSortingMethod.
69     */
70     void SetSortingMethod(const char *sortingMethod) {
71     _sortingMethod = sortingMethod;
72     }
73    
74 pam-fi 1.1.2.1 private:
75    
76     float _spreadX, _spreadY;
77     int _maskedViews;
78    
79     static TRandom3 *_r3;
80     static long int _currEvent;
81    
82     float _xmBackup[6], _ymBackup[6];
83     int _layerXBackup[6], _layerYBackup[6];
84 pam-fi 1.1.2.2
85     TString _trkParamsFile;
86     static TString _currTrkParamsFile;
87 pam-fi 1.1.2.3
88     const char *_sortingMethod;
89 pam-fi 1.1.2.1 };
90    
91     #endif /* REFITTRACKACTION_H_ */

  ViewVC Help
Powered by ViewVC 1.1.23