2 #include "Infrastructure/AliFemtoCutMonitorHandler.h"
3 #include "Infrastructure/AliFemtoTypes.h"
6 ClassImp(AliFemtoCutMonitorHandler)
8 // ---------------------------------------------------------------------------
9 AliFemtoCutMonitorHandler::AliFemtoCutMonitorHandler() {
10 cout << " *** AliFemtoCutMonitorHandler::AliFemtoCutMonitorHandler() " << endl;
11 fCollectionsEmpty = 0;
12 fPassColl = new AliFemtoCutMonitorCollection();
13 fFailColl = new AliFemtoCutMonitorCollection();
15 // ---------------------------------------------------------------------------
16 AliFemtoCutMonitorHandler::~AliFemtoCutMonitorHandler() {
20 // ---------------------------------------------------------------------------
21 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoEvent* event, bool pass) {
22 if (fCollectionsEmpty) return;
23 AliFemtoCutMonitorIterator iter;
24 AliFemtoCutMonitor* CM;
26 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
31 for (iter=fFailColl->begin(); iter!=fFailColl->end(); iter++){
37 // ---------------------------------------------------------------------------
38 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoTrack* track, bool pass) {
39 if (fCollectionsEmpty) return;
40 AliFemtoCutMonitorIterator iter;
41 AliFemtoCutMonitor* CM;
43 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
48 for (iter=fFailColl->begin(); iter!=fFailColl->end(); iter++){
54 // ---------------------------------------------------------------------------
55 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoV0* v0, bool pass) {
56 if (fCollectionsEmpty) return;
57 AliFemtoCutMonitorIterator iter;
58 AliFemtoCutMonitor* CM;
60 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
65 for (iter=fFailColl->begin(); iter!=fFailColl->end(); iter++){
71 // ---------------------------------------------------------------------------
72 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoKink* kink, bool pass) {
73 if (fCollectionsEmpty) return;
74 AliFemtoCutMonitorIterator iter;
75 AliFemtoCutMonitor* CM;
77 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
82 for (iter=fFailColl->begin(); iter!=fFailColl->end(); iter++){
88 // ---------------------------------Gael/12/04/02-----------------------------
89 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoPair* pair, bool pass) {
90 if (fCollectionsEmpty) return;
91 AliFemtoCutMonitorIterator iter;
92 AliFemtoCutMonitor* CM;
94 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
99 for (iter=fFailColl->begin(); iter!=fFailColl->end(); iter++){
105 // ---------------------------------Gael/19/06/02-----------------------------
106 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoParticleCollection* partColl) {
107 if (fCollectionsEmpty) return;
108 AliFemtoCutMonitorIterator iter;
109 AliFemtoCutMonitor* CM;
111 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
116 // ------------------------------------Gael/19/06/02-------------------------
117 void AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoEvent* event,const AliFemtoParticleCollection* partColl) {
119 cout<<"In AliFemtoCutMonitorHandler::FillCutMonitor(const AliFemtoEvent* event, AliFemtoPicoEvent* picoEvent)"<<endl;
120 if (fCollectionsEmpty) return;
121 AliFemtoCutMonitorIterator iter;
122 AliFemtoCutMonitor* CM;
124 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
126 CM->Fill(event,partColl);
129 // ---------------------------------------------------------------------------
130 void AliFemtoCutMonitorHandler::Finish() {
131 AliFemtoCutMonitorIterator iter;
132 for (iter=fPassColl->begin(); iter!=fPassColl->end(); iter++){
135 for (iter=fFailColl->begin(); iter!=fFailColl->end(); iter++){
139 // ---------------------------------------------------------------------------
140 void AliFemtoCutMonitorHandler::AddCutMonitor(AliFemtoCutMonitor* cutMoni1, AliFemtoCutMonitor* cutMoni2) {
141 fPassColl->push_back(cutMoni1);
142 fFailColl->push_back(cutMoni2);
143 fCollectionsEmpty=false;
145 // ---------------------------------------------------------------------------
146 void AliFemtoCutMonitorHandler::AddCutMonitor(AliFemtoCutMonitor* cutMoni) {
147 cout << " make a copy of the cutmonitor and push both into the collections " << endl;
148 cout << " not yet implemented" << endl;
149 fPassColl->push_back(cutMoni);
150 cout << " only pass collection pushed" << endl;
151 fCollectionsEmpty=false;
153 // ---------------------------------------------------------------------------
154 void AliFemtoCutMonitorHandler::AddCutMonitorPass(AliFemtoCutMonitor* cutMoni) {
155 fPassColl->push_back(cutMoni);
156 fCollectionsEmpty=false;
158 // ---------------------------------------------------------------------------
159 void AliFemtoCutMonitorHandler::AddCutMonitorFail(AliFemtoCutMonitor* cutMoni) {
160 fFailColl->push_back(cutMoni);
161 fCollectionsEmpty=false;
163 // ---------------------------------------------------------------------------
164 AliFemtoCutMonitor* AliFemtoCutMonitorHandler::PassMonitor(int n) {
165 AliFemtoCutMonitorIterator iter = fPassColl->begin();
166 if ( (int)fPassColl->size() <= n ) return NULL;
167 for ( int i=0; i<n; i++)
171 // ---------------------------------------------------------------------------
172 AliFemtoCutMonitor* AliFemtoCutMonitorHandler::FailMonitor(int n) {
173 AliFemtoCutMonitorIterator iter = fFailColl->begin();
174 if ( (int)fFailColl->size() <= n ) return NULL;
175 for ( int i=0; i<n; i++)