/[PAMELA software]/PamCut/CollectionActions/Histo2DActions/TofDedxVsBetaHistoAction/TofDedxVsBetaHistoAction.cpp
ViewVC logotype

Annotation of /PamCut/CollectionActions/Histo2DActions/TofDedxVsBetaHistoAction/TofDedxVsBetaHistoAction.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Thu Aug 12 15:11:33 2010 UTC (14 years, 4 months ago) by pam-fi
Branch: MAIN
Changes since 1.1: +40 -38 lines
Bug fixed (giving a title to the histogram in the constructor prevented correct initialization).

1 pam-fi 1.1 /*
2     * TofDedxVsBetaHistoAction.cpp
3     *
4     * Created on: 25-giu-2009
5     * Author: Nicola Mori
6     */
7    
8     /*! @file TofDedxVsBetaHistoAction.cpp The TofDedxVsBetaHistoAction class implementation file. */
9    
10     #include "TofDedxVsBetaHistoAction.h"
11    
12     TofDedxVsBetaHistoAction::TofDedxVsBetaHistoAction(const char *actionName, unsigned int layers, bool standAlone,
13     TString outFileBase, TString mode, bool outRoot, bool outText, TString title) :
14     Histo2DAction<Int_t> (actionName, title, outFileBase, mode, outRoot, outText), _layers(layers), _nLayers(0),
15     _badEvents(0), _standAlone(standAlone) {
16    
17     if (title == "") {
18     title = "TOF dE/dx (";
19 pam-fi 1.2 }
20     if ((_layers & S11) == S11) {
21     title += "S11";
22     _nLayers++;
23     }
24     if ((_layers & S12) == S12) {
25     if (_nLayers > 0)
26     title += ",";
27     title += "S12";
28     _nLayers++;
29     }
30     if ((_layers & S21) == S21) {
31     if (_nLayers > 0)
32     title += ",";
33     title += "S21";
34     _nLayers++;
35     }
36     if ((_layers & S22) == S22) {
37     if (_nLayers > 0)
38     title += ",";
39     title += "S22";
40     _nLayers++;
41     }
42     if ((_layers & S31) == S31) {
43     if (_nLayers > 0)
44     title += ",";
45     title += "S31";
46     _nLayers++;
47     }
48     if ((_layers & S32) == S32) {
49     if (_nLayers > 0)
50     title += ",";
51     title += "S32";
52     _nLayers++;
53     }
54     title += ") Vs Beta";
55 pam-fi 1.1
56 pam-fi 1.2 cout << _layers << " " << _nLayers << endl;
57     SetTitle(title);
58 pam-fi 1.1
59     }
60    
61     void TofDedxVsBetaHistoAction::OnGood(PamLevel2 *event) {
62    
63     static float dEdx;
64     static float dEdxLayer;
65     static unsigned int badLayers;
66    
67     static int trkSeqNo;
68     if (_standAlone)
69     trkSeqNo = 0;
70     else
71     for (int i = 0; i < event->GetToFLevel2()->ntrk(); i++) {
72     if (event->GetToFLevel2()->GetToFTrkVar(i)->trkseqno == event->GetTrack(0)->GetTrkTrack()->GetSeqNo())
73     trkSeqNo = i;
74     }
75    
76     dEdx = 0.;
77     badLayers = 0;
78     if ((_layers & S11) == S11) {
79     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 0, 100);
80     if (dEdxLayer > 0. && dEdxLayer < 4090)
81     dEdx += dEdxLayer;
82     else
83     badLayers++;
84     }
85     if ((_layers & S12) == S12) {
86     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 1, 100);
87     if (dEdxLayer > 0. && dEdxLayer < 4090)
88     dEdx += dEdxLayer;
89     else
90     badLayers++;
91     }
92     if ((_layers & S21) == S21) {
93     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 2, 100);
94     if (dEdxLayer > 0. && dEdxLayer < 4090)
95     dEdx += dEdxLayer;
96     else
97     badLayers++;
98     }
99     if ((_layers & S22) == S22) {
100     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 3, 100);
101     if (dEdxLayer > 0. && dEdxLayer < 4090)
102     dEdx += dEdxLayer;
103     else
104     badLayers++;
105     }
106     if ((_layers & S31) == S31) {
107     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 4, 100);
108     if (dEdxLayer > 0. && dEdxLayer < 4090)
109     dEdx += dEdxLayer;
110     else
111     badLayers++;
112     }
113     if ((_layers & S32) == S32) {
114     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 5, 100);
115     if (dEdxLayer > 0. && dEdxLayer < 4090)
116     dEdx += dEdxLayer;
117     else
118     badLayers++;
119     }
120     if (badLayers == 0) {
121 pam-fi 1.2 dEdx /= _nLayers;
122     cout << _nLayers << " " << dEdx << endl;
123 pam-fi 1.1 Fill(event->GetToFLevel2()->GetToFTrkVar(trkSeqNo)->beta[12], dEdx);
124     }
125     else
126     _badEvents++;
127     }
128    

  ViewVC Help
Powered by ViewVC 1.1.23