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

Annotation of /PamCut/CollectionActions/TrkChi2VsDeflHistoAction/TrkChi2VsDeflHistoAction.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Fri Sep 25 15:36:39 2009 UTC (15 years, 2 months ago) by pam-fi
Branch: MAIN
CVS Tags: Root_V8, MergedToHEAD_1, nuclei_reproc, MergedFromV8_1, BeforeMergingFromV8_1, V9, HEAD
Branch point for: V8
File MIME type: text/plain
Added to repository.

1 pam-fi 1.1 /*
2     * TrkChi2VsDeflHistoAction.h
3     *
4     * Created on: 14/ago/2009
5     * Author: Nicola Mori
6     */
7    
8     /*! @file TrkChi2VsDeflHistoAction.h The TrkChi2VsDeflHistoAction class declaration file. */
9    
10     #ifndef TRKCHI2VSDEFLHISTOACTION_H_
11     #define TRKCHI2VSDEFLHISTOACTION_H_
12    
13     #include "../CollectionAction/CollectionAction.h"
14     #include <TH2F.h>
15    
16     /*! @brief An action that fills a Trk Chi2 Vs Deflection histogram (for global Chi2, Chi2 X and Chi2 Y). */
17     class TrkChi2VsDeflHistoAction: public CollectionAction {
18     public:
19    
20     /*! @brief Constructor.
21     *
22     * @param actionName The action's name.
23     * @param outFileName The output file name.
24     * @param mode The mode of ROOT file creation (see documentation of TFile constructor
25     * in ROOT's reference guide).
26     * @param logChi2 If true, log10(chi2) is used for the Y axis (linear scale). Notice that minChi2 and maxChi2
27     * must still be specified using chi2 values and NOT log10(chi2) values.
28     * @param minDefl The lower limit for deflection axis (in GV^-1).
29     * @param maxDefl The upper limit for deflection axis (in GV^-1).
30     * @param nBinsDefl The number of deflection bins.
31     * @param minChi2 The lower limit for chi2 axis.
32     * @param maxChi2 The upper limit for chi2 axis.
33     * @param nBinsChi2 The number of chi2 bins.
34    
35     */
36     TrkChi2VsDeflHistoAction(const char *actionName, TString outFileName, TString mode = "UPDATE", bool logChi2 = false,
37     float minDefl = 0.001, float maxDefl = 3.5, unsigned int nBinsDefl = 1000, float minChi2 = 0.01, float maxChi2 =
38     1e7, unsigned int nBinsChi2 = 1000);
39    
40     /*! @brief Destructor. */
41     ~TrkChi2VsDeflHistoAction() {
42    
43     if (!_histoX) {
44     delete _histoX;
45     _histoX = NULL;
46     }
47    
48     if (!_histoY) {
49     delete _histoY;
50     _histoY = NULL;
51     }
52     }
53    
54     /*! @brief Fills histogram with the selected event.
55     *
56     * @param event The selected event.
57     */
58     void OnGood(PamLevel2 *event);
59    
60     /*! @brief Writes the histogram to the output ROOT file.*/
61     void Finalize();
62    
63     /*! @brief Returns the histogram.
64     *
65     * @return A pointer to the TH2F chi2 vs deflection histogram.
66     */
67     TH2F *GetHisto() {
68     return &_histo;
69     }
70    
71     private:
72    
73     TString _outFileName;
74     TH2F _histo;
75     TH2F *_histoX, *_histoY;
76     TString _mode;
77     bool _logChi2;
78    
79     streambuf *_cout_sbuf;
80     ofstream _fout;
81     };
82    
83     #endif /* TRKCHI2VSDEFLHISTOACTION_H_ */

  ViewVC Help
Powered by ViewVC 1.1.23