/[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.1 - (hide annotations) (download)
Fri Sep 25 15:36:35 2009 UTC (15 years, 2 months ago) by pam-fi
Branch: MAIN
CVS Tags: Root_V8, MergedToHEAD_1, nuclei_reproc, MergedFromV8_1, BeforeMergingFromV8_1
Branch point for: V8
Added to repository.

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     if ((_layers & S11) == S11) {
20     title += "S11";
21     _nLayers++;
22     }
23     if ((_layers & S12) == S12) {
24     if (_nLayers > 0)
25     title += ",";
26     title += "S12";
27     _nLayers++;
28     }
29     if ((_layers & S21) == S21) {
30     if (_nLayers > 0)
31     title += ",";
32     title += "S21";
33     _nLayers++;
34     }
35     if ((_layers & S22) == S22) {
36     if (_nLayers > 0)
37     title += ",";
38     title += "S22";
39     _nLayers++;
40     }
41     if ((_layers & S31) == S31) {
42     if (_nLayers > 0)
43     title += ",";
44     title += "S31";
45     _nLayers++;
46     }
47     if ((_layers & S32) == S32) {
48     if (_nLayers > 0)
49     title += ",";
50     title += "S32";
51     _nLayers++;
52     }
53     title += ") Vs Beta";
54    
55     SetTitle(title);
56     }
57    
58     }
59    
60     void TofDedxVsBetaHistoAction::OnGood(PamLevel2 *event) {
61    
62     static float dEdx;
63     static float dEdxLayer;
64     static unsigned int badLayers;
65    
66     static int trkSeqNo;
67     if (_standAlone)
68     trkSeqNo = 0;
69     else
70     for (int i = 0; i < event->GetToFLevel2()->ntrk(); i++) {
71     if (event->GetToFLevel2()->GetToFTrkVar(i)->trkseqno == event->GetTrack(0)->GetTrkTrack()->GetSeqNo())
72     trkSeqNo = i;
73     }
74    
75     dEdx = 0.;
76     badLayers = 0;
77     if ((_layers & S11) == S11) {
78     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 0, 100);
79     if (dEdxLayer > 0. && dEdxLayer < 4090)
80     dEdx += dEdxLayer;
81     else
82     badLayers++;
83     }
84     if ((_layers & S12) == S12) {
85     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 1, 100);
86     if (dEdxLayer > 0. && dEdxLayer < 4090)
87     dEdx += dEdxLayer;
88     else
89     badLayers++;
90     }
91     if ((_layers & S21) == S21) {
92     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 2, 100);
93     if (dEdxLayer > 0. && dEdxLayer < 4090)
94     dEdx += dEdxLayer;
95     else
96     badLayers++;
97     }
98     if ((_layers & S22) == S22) {
99     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 3, 100);
100     if (dEdxLayer > 0. && dEdxLayer < 4090)
101     dEdx += dEdxLayer;
102     else
103     badLayers++;
104     }
105     if ((_layers & S31) == S31) {
106     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 4, 100);
107     if (dEdxLayer > 0. && dEdxLayer < 4090)
108     dEdx += dEdxLayer;
109     else
110     badLayers++;
111     }
112     if ((_layers & S32) == S32) {
113     dEdxLayer = event->GetToFLevel2()->GetdEdx(trkSeqNo, 5, 100);
114     if (dEdxLayer > 0. && dEdxLayer < 4090)
115     dEdx += dEdxLayer;
116     else
117     badLayers++;
118     }
119     if (badLayers == 0) {
120     dEdx /= _nLayers - badLayers;
121     Fill(event->GetToFLevel2()->GetToFTrkVar(trkSeqNo)->beta[12], dEdx);
122     }
123     else
124     _badEvents++;
125     }
126    

  ViewVC Help
Powered by ViewVC 1.1.23