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

Diff of /PamCut/CollectionActions/RigFillAction/RigFillAction.h

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

revision 1.1 by pam-fi, Fri Jul 17 08:22:48 2009 UTC revision 1.3 by pam-fi, Wed Aug 26 16:34:15 2009 UTC
# Line 16  Line 16 
16    
17  /*! @brief The rigidity vs threshold rigidity histogram filling.  /*! @brief The rigidity vs threshold rigidity histogram filling.
18   *   *
19   * This class builds a 2D histogram binned in rigidity modulus   * This class builds a 2D histogram binned in event rigidity modulus
20   * and threshold rigidity. Each 2D bin will contain the number of events whose   * and threshold rigidity. Each 2D bin will contain the number of events whose
21   * rigidity modulus and threshold rigidity (eg., Stoermer cutoff rigidity times a threshold coefficient)   * event rigidity modulus and threshold rigidity (eg., Stoermer cutoff rigidity times a threshold coefficient) lie in that bin. Note that the meaning of this threshold coefficient is the same as in
  * lie in that bin. Note that the meaning of this threshold coefficient is the same as in  
22   * TrkRigGeoCut, so it must have the same value used for TrkRigGeoCut (consider   * TrkRigGeoCut, so it must have the same value used for TrkRigGeoCut (consider
23   * using TrkRigGeoCut::GetThresholdCoeff() to retrieve its value).   * using TrkRigGeoCut::GetThresholdCoeff() to retrieve its value).
24   * Events are discarded only if their rigidity modulus or cutoff rigidity lies   * Events whose threshold rigidity is below the lower limit of the bins are recorded in a vector of
25   * outside the histogram bounds.   * event rigidities with threshold rigidity in the "inferior threshold bin", which ranges from zero to the the lowest threshold rigidity of the "normal" bins.
26     * Events are discarded only if their rigidity modulus or threshold rigidity lies
27     * outside the histogram boundaries.
28   *   *
29   * CUT DEPENDECIES: TrkPhSinCut for single physical track, TrkRigGeoCut for galactic event.   * CUT DEPENDECIES: TrkPhSinCut for single physical track, TrkRigGeoCut for galactic event.
30   *   *
# Line 34  public: Line 35  public:
35    /*! @brief Constructor.    /*! @brief Constructor.
36     *     *
37     * outFileBase is the base name for output file: #Finalize will add .txt for ASCII output     * outFileBase is the base name for output file: #Finalize will add .txt for ASCII output
38     * and .root for ROOT output. outFileBase has to contain the path (otherwise, files will be     * and .root for ROOT output. "-report" will be also added for the report file (in which
39     * saved in the current directory).     * the content of the zero bins will be saved). outFileBase has to contain the path (otherwise,
40       * files will be saved in the current directory).
41     * The file containing the rigidity bins must be a text file. It must contain both the     * The file containing the rigidity bins must be a text file. It must contain both the
42     * lower and upper limits of the rigidity axis, so that if it contains N values it     * lower and upper limits of the rigidity axis, so that if it contains N values it
43     * defines a set of N-1 bins.     * defines a set of N-1 bins.
44     *     *
45     * @param actionName The action's name.     * @param actionName The action's name.
46     * @param outFileBase The output file base name.     * @param outFileBase The output file base name. If "" is given as name,
47     * @param rigBinsFile The file containing the rigidity bins.     *                    no file output will be performed.
48       * @param rigBinsFile The file containing the rigidity bins
49     * @param thresholdCoeff The threshold coefficient for critical rigidity.     * @param thresholdCoeff The threshold coefficient for critical rigidity.
50     */     */
51    RigFillAction(const char *actionName, TString outFileBase, TString rigBinsFile, float thresholdCoeff);    RigFillAction(const char *actionName, TString outFileBase, TString rigBinsFile, float thresholdCoeff);
52    
53      /*! @brief Constructor.
54       *
55       * outFileBase is the base name for output file: #Finalize will add .txt for ASCII output
56       * and .root for ROOT output. "-report" will be also added for the report file (in which
57       * the content of the zero bins will be saved). outFileBase has to contain the path (otherwise,
58       * files will be saved in the current directory).
59       *
60       * @param actionName The action's name.
61       * @param outFileBase The output file base name. If "" is given as name,
62       *                    no file output will be performed.
63       * @param bins A vector containing the bins limits.
64       * @param thresholdCoeff The threshold coefficient for critical rigidity.
65       */
66      RigFillAction(const char *actionName, TString outFileBase, vector<float> &bins, float thresholdCoeff);
67    
68    /*! @brief Destructor */    /*! @brief Destructor */
69    ~RigFillAction() {    ~RigFillAction() {
70    }    }
71    
72    /*! @brief Fills histogram with the selected event.    /*! @brief Fills histogram with the selected event.
73     *     *
74     * The current event will be added to the bin corresponding to its rigidity and critical rigidity multiplied     * The current event will be added to the event rigidity bin corresponding to its event rigidity R and to the threshold bin corresponding to the Stoermer cutoff rigidity (S) multiplied by the threshold coefficient.
    * by the threshold coefficient, eg., to the bin (Rc*threshold, R).  
75     *     *
76     * @param event The selected event.     * @param event The selected event.
77     */     */
# Line 70  public: Line 87  public:
87    
88    /*! @brief Returns the histogram.    /*! @brief Returns the histogram.
89     *     *
90     * This method returns a SimpleMatrix. Its [i][j] element contain the number of analyzed events     * This method returns a SimpleMatrix. Its [i][j] element contains the number of analyzed events
91     * whose rigidity modulus falls in the i-th rigidity bin and whose threshold rigidity multiplied by the     * whose event rigidity modulus falls in the i-th normal rigidity bin and whose threshold rigidity falls in the j-th normal bin.
    * threshold falls in the j-th rigidity bin.  
92     *     *
93     * @return The rigidity modulus - threshold rigidity 2D histogram.     * @return The rigidity modulus - threshold rigidity 2D histogram.
94     */     */
95    SimpleMatrix<UInt_t> &GetHisto() {    SimpleMatrix<UInt_t>& GetHistoThreshNormBins() {
96      return _textHisto;      return _textHisto;
97    }    }
98    
99      /*! @brief whose [i] element contains the number of analyzed events whose event rigidity modulus falls in the i-th normal rigidity bin, and whose threshold rigidity falls in any normal bin */
100      vector<UInt_t>& GetTotalHistoThreshNormBins() {
101        return _totalTextHisto;
102      }
103    
104      /*! @brief Returns the vector whose [i] element contains the number of analyzed events whose event rigidity modulus falls in the i-th normal rigidity bin, and whose threshold rigidity falls in the inferior bin */
105      vector<UInt_t>& GetHistoThreshInfBin() {
106        return _zeroCutoffBins;
107      }
108    
109  private:  private:
110    
111    TString _outFileBase;    TString _outFileBase;
112    vector<float> _bins;    vector<float> _bins;
113    TH2I _rootHisto;    TH2I _rootHisto;
114    SimpleMatrix<UInt_t> _textHisto;    SimpleMatrix<UInt_t> _textHisto;
115      vector<UInt_t> _zeroCutoffBins;
116      vector<UInt_t> _totalTextHisto;
117    float _thresholdCoeff;    float _thresholdCoeff;
118    
119      void _InitHistos(vector<float> &bins);
120    
121  };  };
122  #endif /* RIGFILLACTION_H_ */  #endif /* RIGFILLACTION_H_ */

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.23