ROOT logo
//
// This class contains the secondary correction and the double hit
// correction used in low-flux events.
//
#include "AliFMDCorrMergingEfficiency.h"
#include <TBrowser.h>
#include <TH1D.h>
#include <AliLog.h>
#include <iostream>

//____________________________________________________________________
AliFMDCorrMergingEfficiency::AliFMDCorrMergingEfficiency()
  : fRingArray(), 
    fVertexAxis(0,0,0)
{
  // 
  // Default constructor 
  //
  fRingArray.SetOwner(kTRUE);
  fRingArray.SetName("rings");
  fVertexAxis.SetName("vtxAxis");
  fVertexAxis.SetTitle("v_{z} [cm]");
  
}
//____________________________________________________________________
AliFMDCorrMergingEfficiency::AliFMDCorrMergingEfficiency(const 
					       AliFMDCorrMergingEfficiency& o)
  : TObject(o), 
    fRingArray(o.fRingArray), 
    fVertexAxis(o.fVertexAxis.GetNbins(), o.fVertexAxis.GetXmin(), 
		o.fVertexAxis.GetXmax())
{
  // 
  // Copy constructor 
  // 
  // Parameters:
  //    o Object to copy from 
  //
  fVertexAxis.SetName("vtxAxis");
  fVertexAxis.SetTitle("v_{z} [cm]");
}
//____________________________________________________________________
AliFMDCorrMergingEfficiency::~AliFMDCorrMergingEfficiency()
{
  //
  // Destructor 
  // 
  //
  fRingArray.Clear();
}
//____________________________________________________________________
AliFMDCorrMergingEfficiency&
AliFMDCorrMergingEfficiency::operator=(const AliFMDCorrMergingEfficiency& o)
{
  // 
  // Assignment operator 
  // 
  // Parameters:
  //    o Object to assign from 
  // 
  // Return:
  //    Reference to this object 
  //
  fRingArray        = o.fRingArray;
  SetVertexAxis(o.fVertexAxis);

  return *this;
}
//____________________________________________________________________
TH1D*
AliFMDCorrMergingEfficiency::GetCorrection(UShort_t d, Char_t r, Double_t v) const
{
  // 
  // Get the secondary correction @f$ c_{r,v}@f$ 
  // 
  // Parameters:
  //    d  Detector number (1-3)
  //    r  Ring identifier (I or O)
  //    v  Primary interaction point @f$z@f$ coordinate
  // 
  // Return:
  //    The correction @f$ c_{r,v}@f$ 
  //
  Int_t b = FindVertexBin(v);
  if (b <= 0) return 0;
  return GetCorrection(d, r, UShort_t(b));
}
//____________________________________________________________________
TH1D*
AliFMDCorrMergingEfficiency::GetCorrection(UShort_t d, Char_t r, UShort_t b) const
{
  // 
  // Get the secondary correction @f$ c_{r,v}@f$ 
  // 
  // Parameters:
  //    d  Detector number (1-3)
  //    r  Ring identifier (I or O)
  //    b  Bin corresponding to the primary interaction point 
  //           @f$z@f$ coordinate (1 based)
  // 
  // Return:
  //    The correction @f$ c_{r,v}@f$ 
  //
  TObjArray* ringArray = GetRingArray(d, r);
  if (!ringArray) return 0;

  if (b <= 0 || b > ringArray->GetEntriesFast()) {
    AliWarning(Form("vertex bin %d out of range [1,%d]", 
		    b, ringArray->GetEntriesFast()));
    return 0;
  }

  TObject* o = ringArray->At(b-1);
  if (!o) { 
    AliWarning(Form("No secondary map found for FMD%d%c in vertex bin %d",
		    d,r,b));
    return 0;
  }
  return static_cast<TH1D*>(o);
}
  
//____________________________________________________________________
Int_t
AliFMDCorrMergingEfficiency::FindVertexBin(Double_t v) const
{
  // 
  // Find the vertex bin that corresponds to the passed vertex 
  // 
  // Parameters:
  //    vertex The interaction points @f$z@f$-coordinate 
  // 
  // Return:
  //    Vertex bin in @f$[1,N_{\mbox{vertex}}]@f$ or negative if 
  // out of range 
  //
  if (fVertexAxis.GetNbins() <= 0) { 
    AliWarning("No vertex array defined");
    return 0;
  }
  Int_t bin = const_cast<TAxis&>(fVertexAxis).FindBin(v);
  if (bin <= 0 || bin > fVertexAxis.GetNbins()) { 
    AliWarning(Form("vertex %+8.4f out of range [%+8.4f,%+8.4f]",
		    v, fVertexAxis.GetXmin(), fVertexAxis.GetXmax()));
    return 0;
  }
  return bin;
}
//____________________________________________________________________
Int_t
AliFMDCorrMergingEfficiency::GetRingIndex(UShort_t d, Char_t r) const
{
  // 
  // Get the index corresponding to the given ring 
  // 
  // Parameters:
  //    d Detector
  //    r Ring 
  // 
  // Return:
  //    Index (0 based) or negative in case of errors
  //
  switch (d) {
  case 1:  return 0;
  case 2:  return (r == 'I' || r == 'i' ? 1 : 2); break;  
  case 3:  return (r == 'I' || r == 'i' ? 3 : 4); break;  
  }
  AliWarning(Form("Index for FMD%d%c not found", d, r));
  return -1;
}
//____________________________________________________________________
TObjArray*
AliFMDCorrMergingEfficiency::GetRingArray(UShort_t d, Char_t r) const
{
  // 
  // Get the ring array corresponding to the specified ring
  // 
  // Parameters:
  //    d Detector 
  //    r Ring 
  // 
  // Return:
  //    Pointer to ring array, or null in case of problems
  //
  Int_t idx = GetRingIndex(d,r);
  if (idx < 0) return 0;
  
  TObject* o = fRingArray.At(idx);
  if (!o) { 
    AliWarning(Form("No array found for FMD%d%c", d, r));
    return 0;
  }

  return static_cast<TObjArray*>(o);
}
//____________________________________________________________________
TObjArray*
AliFMDCorrMergingEfficiency::GetOrMakeRingArray(UShort_t d, Char_t r)
{
  // 
  // Get the ring array corresponding to the specified ring
  // 
  // Parameters:
  //    d Detector 
  //    r Ring 
  // 
  // Return:
  //    Pointer to ring array, or newly created container 
  //
  Int_t idx = GetRingIndex(d,r);
  if (idx < 0) return 0;
  
  TObject* o = fRingArray.At(idx);
  if (!o) { 
    TObjArray* a = new TObjArray(fVertexAxis.GetNbins());
    a->SetName(Form("FMD%d%c", d, r));
    a->SetOwner(kTRUE);
    fRingArray.AddAtAndExpand(a, idx);
    return a;
  }

  return static_cast<TObjArray*>(fRingArray.At(idx));
}

//____________________________________________________________________
Bool_t
AliFMDCorrMergingEfficiency::SetCorrection(UShort_t d, Char_t r, 
					   UShort_t b, TH1D*  h) 
{
  // 
  // Set the secondary map correction @f$ m_{r,v}(\eta)@f$ 
  // Note, that the object takes ownership of the passed pointer.
  // 
  // Parameters:
  //    d    Detector number (1-3)
  //    r    Ring identifier (I or O)
  //    b    Bin corresponding to the primary interaction point 
  //             @f$z@f$ coordinate  (1 based)
  //    h    @f$ m_{r,v}(\eta)@f$ 
  // 
  // Return:
  //    true if operation succeeded 
  //
  TObjArray* ringArray = GetOrMakeRingArray(d, r);
  if (!ringArray) return false;
  
  if (b <= 0 || b > fVertexAxis.GetNbins()) { 
    AliWarning(Form("Vertex bin %3d out of range [1,%3d]", 
		    b, fVertexAxis.GetNbins()));
    return false;
  }
  h->SetName(Form("FMD%d%c_vtxbin%03d", d, r, b));
  h->SetTitle(Form("Secondary map correction for FMD%d%c "
		   "in vertex bin %d [%+8.4f,%+8.4f]", 
		   d, r, b, fVertexAxis.GetBinLowEdge(b), 
		   fVertexAxis.GetBinUpEdge(b)));
  h->SetXTitle("#eta");
  h->SetYTitle("dN_{ch}/d#eta / sum_i N_{ch,i}");
  h->SetFillStyle(3001);
  h->SetDirectory(0);
  h->SetStats(0);
  ringArray->AddAtAndExpand(h, b-1);
  return kTRUE;
}
//____________________________________________________________________
Bool_t
AliFMDCorrMergingEfficiency::SetCorrection(UShort_t d, Char_t r, 
					   Double_t v, TH1D*  h) 
{
  // 
  // Set the secondary map correction @f$ m_{r,v}(\eta)@f$.
  // Note, that the object takes ownership of the passed pointer.
  // 
  // Parameters:
  //    d    Detector number (1-3)
  //    r    Ring identifier (I or O)
  //    v    Primary interaction point @f$z@f$ coordinate  
  //    h    @f$ m_{r,v}(\eta)@f$ 
  // 
  // Return:
  //    true if operation succeeded 
  //
  Int_t b = FindVertexBin(v);
  if (b <= 0 || b > fVertexAxis.GetNbins()) { 
    AliWarning(Form("Vertex %+8.4f out of range [%+8.4f,%+8.4f]", 
		    v, fVertexAxis.GetXmin(), fVertexAxis.GetXmax()));
    return false;
  }
  return SetCorrection(d, r, UShort_t(b), h);
}
//____________________________________________________________________
void
AliFMDCorrMergingEfficiency::Browse(TBrowser* b)
{
  // 
  // Browse this object in the browser
  // 
  // Parameters:
  //    b 
  //
  b->Add(&fRingArray);
  b->Add(&fVertexAxis);
}
//____________________________________________________________________
void
AliFMDCorrMergingEfficiency::Print(Option_t* option) const
{
  // 
  // Print this object 
  // 
  // Parameters:
  //    option 
  //  
  std::cout << "Merging efficiency correction" << std::endl;
  fRingArray.Print(option);
  fVertexAxis.Print(option);
}
    
//____________________________________________________________________
//
// EOF
//
 AliFMDCorrMergingEfficiency.cxx:1
 AliFMDCorrMergingEfficiency.cxx:2
 AliFMDCorrMergingEfficiency.cxx:3
 AliFMDCorrMergingEfficiency.cxx:4
 AliFMDCorrMergingEfficiency.cxx:5
 AliFMDCorrMergingEfficiency.cxx:6
 AliFMDCorrMergingEfficiency.cxx:7
 AliFMDCorrMergingEfficiency.cxx:8
 AliFMDCorrMergingEfficiency.cxx:9
 AliFMDCorrMergingEfficiency.cxx:10
 AliFMDCorrMergingEfficiency.cxx:11
 AliFMDCorrMergingEfficiency.cxx:12
 AliFMDCorrMergingEfficiency.cxx:13
 AliFMDCorrMergingEfficiency.cxx:14
 AliFMDCorrMergingEfficiency.cxx:15
 AliFMDCorrMergingEfficiency.cxx:16
 AliFMDCorrMergingEfficiency.cxx:17
 AliFMDCorrMergingEfficiency.cxx:18
 AliFMDCorrMergingEfficiency.cxx:19
 AliFMDCorrMergingEfficiency.cxx:20
 AliFMDCorrMergingEfficiency.cxx:21
 AliFMDCorrMergingEfficiency.cxx:22
 AliFMDCorrMergingEfficiency.cxx:23
 AliFMDCorrMergingEfficiency.cxx:24
 AliFMDCorrMergingEfficiency.cxx:25
 AliFMDCorrMergingEfficiency.cxx:26
 AliFMDCorrMergingEfficiency.cxx:27
 AliFMDCorrMergingEfficiency.cxx:28
 AliFMDCorrMergingEfficiency.cxx:29
 AliFMDCorrMergingEfficiency.cxx:30
 AliFMDCorrMergingEfficiency.cxx:31
 AliFMDCorrMergingEfficiency.cxx:32
 AliFMDCorrMergingEfficiency.cxx:33
 AliFMDCorrMergingEfficiency.cxx:34
 AliFMDCorrMergingEfficiency.cxx:35
 AliFMDCorrMergingEfficiency.cxx:36
 AliFMDCorrMergingEfficiency.cxx:37
 AliFMDCorrMergingEfficiency.cxx:38
 AliFMDCorrMergingEfficiency.cxx:39
 AliFMDCorrMergingEfficiency.cxx:40
 AliFMDCorrMergingEfficiency.cxx:41
 AliFMDCorrMergingEfficiency.cxx:42
 AliFMDCorrMergingEfficiency.cxx:43
 AliFMDCorrMergingEfficiency.cxx:44
 AliFMDCorrMergingEfficiency.cxx:45
 AliFMDCorrMergingEfficiency.cxx:46
 AliFMDCorrMergingEfficiency.cxx:47
 AliFMDCorrMergingEfficiency.cxx:48
 AliFMDCorrMergingEfficiency.cxx:49
 AliFMDCorrMergingEfficiency.cxx:50
 AliFMDCorrMergingEfficiency.cxx:51
 AliFMDCorrMergingEfficiency.cxx:52
 AliFMDCorrMergingEfficiency.cxx:53
 AliFMDCorrMergingEfficiency.cxx:54
 AliFMDCorrMergingEfficiency.cxx:55
 AliFMDCorrMergingEfficiency.cxx:56
 AliFMDCorrMergingEfficiency.cxx:57
 AliFMDCorrMergingEfficiency.cxx:58
 AliFMDCorrMergingEfficiency.cxx:59
 AliFMDCorrMergingEfficiency.cxx:60
 AliFMDCorrMergingEfficiency.cxx:61
 AliFMDCorrMergingEfficiency.cxx:62
 AliFMDCorrMergingEfficiency.cxx:63
 AliFMDCorrMergingEfficiency.cxx:64
 AliFMDCorrMergingEfficiency.cxx:65
 AliFMDCorrMergingEfficiency.cxx:66
 AliFMDCorrMergingEfficiency.cxx:67
 AliFMDCorrMergingEfficiency.cxx:68
 AliFMDCorrMergingEfficiency.cxx:69
 AliFMDCorrMergingEfficiency.cxx:70
 AliFMDCorrMergingEfficiency.cxx:71
 AliFMDCorrMergingEfficiency.cxx:72
 AliFMDCorrMergingEfficiency.cxx:73
 AliFMDCorrMergingEfficiency.cxx:74
 AliFMDCorrMergingEfficiency.cxx:75
 AliFMDCorrMergingEfficiency.cxx:76
 AliFMDCorrMergingEfficiency.cxx:77
 AliFMDCorrMergingEfficiency.cxx:78
 AliFMDCorrMergingEfficiency.cxx:79
 AliFMDCorrMergingEfficiency.cxx:80
 AliFMDCorrMergingEfficiency.cxx:81
 AliFMDCorrMergingEfficiency.cxx:82
 AliFMDCorrMergingEfficiency.cxx:83
 AliFMDCorrMergingEfficiency.cxx:84
 AliFMDCorrMergingEfficiency.cxx:85
 AliFMDCorrMergingEfficiency.cxx:86
 AliFMDCorrMergingEfficiency.cxx:87
 AliFMDCorrMergingEfficiency.cxx:88
 AliFMDCorrMergingEfficiency.cxx:89
 AliFMDCorrMergingEfficiency.cxx:90
 AliFMDCorrMergingEfficiency.cxx:91
 AliFMDCorrMergingEfficiency.cxx:92
 AliFMDCorrMergingEfficiency.cxx:93
 AliFMDCorrMergingEfficiency.cxx:94
 AliFMDCorrMergingEfficiency.cxx:95
 AliFMDCorrMergingEfficiency.cxx:96
 AliFMDCorrMergingEfficiency.cxx:97
 AliFMDCorrMergingEfficiency.cxx:98
 AliFMDCorrMergingEfficiency.cxx:99
 AliFMDCorrMergingEfficiency.cxx:100
 AliFMDCorrMergingEfficiency.cxx:101
 AliFMDCorrMergingEfficiency.cxx:102
 AliFMDCorrMergingEfficiency.cxx:103
 AliFMDCorrMergingEfficiency.cxx:104
 AliFMDCorrMergingEfficiency.cxx:105
 AliFMDCorrMergingEfficiency.cxx:106
 AliFMDCorrMergingEfficiency.cxx:107
 AliFMDCorrMergingEfficiency.cxx:108
 AliFMDCorrMergingEfficiency.cxx:109
 AliFMDCorrMergingEfficiency.cxx:110
 AliFMDCorrMergingEfficiency.cxx:111
 AliFMDCorrMergingEfficiency.cxx:112
 AliFMDCorrMergingEfficiency.cxx:113
 AliFMDCorrMergingEfficiency.cxx:114
 AliFMDCorrMergingEfficiency.cxx:115
 AliFMDCorrMergingEfficiency.cxx:116
 AliFMDCorrMergingEfficiency.cxx:117
 AliFMDCorrMergingEfficiency.cxx:118
 AliFMDCorrMergingEfficiency.cxx:119
 AliFMDCorrMergingEfficiency.cxx:120
 AliFMDCorrMergingEfficiency.cxx:121
 AliFMDCorrMergingEfficiency.cxx:122
 AliFMDCorrMergingEfficiency.cxx:123
 AliFMDCorrMergingEfficiency.cxx:124
 AliFMDCorrMergingEfficiency.cxx:125
 AliFMDCorrMergingEfficiency.cxx:126
 AliFMDCorrMergingEfficiency.cxx:127
 AliFMDCorrMergingEfficiency.cxx:128
 AliFMDCorrMergingEfficiency.cxx:129
 AliFMDCorrMergingEfficiency.cxx:130
 AliFMDCorrMergingEfficiency.cxx:131
 AliFMDCorrMergingEfficiency.cxx:132
 AliFMDCorrMergingEfficiency.cxx:133
 AliFMDCorrMergingEfficiency.cxx:134
 AliFMDCorrMergingEfficiency.cxx:135
 AliFMDCorrMergingEfficiency.cxx:136
 AliFMDCorrMergingEfficiency.cxx:137
 AliFMDCorrMergingEfficiency.cxx:138
 AliFMDCorrMergingEfficiency.cxx:139
 AliFMDCorrMergingEfficiency.cxx:140
 AliFMDCorrMergingEfficiency.cxx:141
 AliFMDCorrMergingEfficiency.cxx:142
 AliFMDCorrMergingEfficiency.cxx:143
 AliFMDCorrMergingEfficiency.cxx:144
 AliFMDCorrMergingEfficiency.cxx:145
 AliFMDCorrMergingEfficiency.cxx:146
 AliFMDCorrMergingEfficiency.cxx:147
 AliFMDCorrMergingEfficiency.cxx:148
 AliFMDCorrMergingEfficiency.cxx:149
 AliFMDCorrMergingEfficiency.cxx:150
 AliFMDCorrMergingEfficiency.cxx:151
 AliFMDCorrMergingEfficiency.cxx:152
 AliFMDCorrMergingEfficiency.cxx:153
 AliFMDCorrMergingEfficiency.cxx:154
 AliFMDCorrMergingEfficiency.cxx:155
 AliFMDCorrMergingEfficiency.cxx:156
 AliFMDCorrMergingEfficiency.cxx:157
 AliFMDCorrMergingEfficiency.cxx:158
 AliFMDCorrMergingEfficiency.cxx:159
 AliFMDCorrMergingEfficiency.cxx:160
 AliFMDCorrMergingEfficiency.cxx:161
 AliFMDCorrMergingEfficiency.cxx:162
 AliFMDCorrMergingEfficiency.cxx:163
 AliFMDCorrMergingEfficiency.cxx:164
 AliFMDCorrMergingEfficiency.cxx:165
 AliFMDCorrMergingEfficiency.cxx:166
 AliFMDCorrMergingEfficiency.cxx:167
 AliFMDCorrMergingEfficiency.cxx:168
 AliFMDCorrMergingEfficiency.cxx:169
 AliFMDCorrMergingEfficiency.cxx:170
 AliFMDCorrMergingEfficiency.cxx:171
 AliFMDCorrMergingEfficiency.cxx:172
 AliFMDCorrMergingEfficiency.cxx:173
 AliFMDCorrMergingEfficiency.cxx:174
 AliFMDCorrMergingEfficiency.cxx:175
 AliFMDCorrMergingEfficiency.cxx:176
 AliFMDCorrMergingEfficiency.cxx:177
 AliFMDCorrMergingEfficiency.cxx:178
 AliFMDCorrMergingEfficiency.cxx:179
 AliFMDCorrMergingEfficiency.cxx:180
 AliFMDCorrMergingEfficiency.cxx:181
 AliFMDCorrMergingEfficiency.cxx:182
 AliFMDCorrMergingEfficiency.cxx:183
 AliFMDCorrMergingEfficiency.cxx:184
 AliFMDCorrMergingEfficiency.cxx:185
 AliFMDCorrMergingEfficiency.cxx:186
 AliFMDCorrMergingEfficiency.cxx:187
 AliFMDCorrMergingEfficiency.cxx:188
 AliFMDCorrMergingEfficiency.cxx:189
 AliFMDCorrMergingEfficiency.cxx:190
 AliFMDCorrMergingEfficiency.cxx:191
 AliFMDCorrMergingEfficiency.cxx:192
 AliFMDCorrMergingEfficiency.cxx:193
 AliFMDCorrMergingEfficiency.cxx:194
 AliFMDCorrMergingEfficiency.cxx:195
 AliFMDCorrMergingEfficiency.cxx:196
 AliFMDCorrMergingEfficiency.cxx:197
 AliFMDCorrMergingEfficiency.cxx:198
 AliFMDCorrMergingEfficiency.cxx:199
 AliFMDCorrMergingEfficiency.cxx:200
 AliFMDCorrMergingEfficiency.cxx:201
 AliFMDCorrMergingEfficiency.cxx:202
 AliFMDCorrMergingEfficiency.cxx:203
 AliFMDCorrMergingEfficiency.cxx:204
 AliFMDCorrMergingEfficiency.cxx:205
 AliFMDCorrMergingEfficiency.cxx:206
 AliFMDCorrMergingEfficiency.cxx:207
 AliFMDCorrMergingEfficiency.cxx:208
 AliFMDCorrMergingEfficiency.cxx:209
 AliFMDCorrMergingEfficiency.cxx:210
 AliFMDCorrMergingEfficiency.cxx:211
 AliFMDCorrMergingEfficiency.cxx:212
 AliFMDCorrMergingEfficiency.cxx:213
 AliFMDCorrMergingEfficiency.cxx:214
 AliFMDCorrMergingEfficiency.cxx:215
 AliFMDCorrMergingEfficiency.cxx:216
 AliFMDCorrMergingEfficiency.cxx:217
 AliFMDCorrMergingEfficiency.cxx:218
 AliFMDCorrMergingEfficiency.cxx:219
 AliFMDCorrMergingEfficiency.cxx:220
 AliFMDCorrMergingEfficiency.cxx:221
 AliFMDCorrMergingEfficiency.cxx:222
 AliFMDCorrMergingEfficiency.cxx:223
 AliFMDCorrMergingEfficiency.cxx:224
 AliFMDCorrMergingEfficiency.cxx:225
 AliFMDCorrMergingEfficiency.cxx:226
 AliFMDCorrMergingEfficiency.cxx:227
 AliFMDCorrMergingEfficiency.cxx:228
 AliFMDCorrMergingEfficiency.cxx:229
 AliFMDCorrMergingEfficiency.cxx:230
 AliFMDCorrMergingEfficiency.cxx:231
 AliFMDCorrMergingEfficiency.cxx:232
 AliFMDCorrMergingEfficiency.cxx:233
 AliFMDCorrMergingEfficiency.cxx:234
 AliFMDCorrMergingEfficiency.cxx:235
 AliFMDCorrMergingEfficiency.cxx:236
 AliFMDCorrMergingEfficiency.cxx:237
 AliFMDCorrMergingEfficiency.cxx:238
 AliFMDCorrMergingEfficiency.cxx:239
 AliFMDCorrMergingEfficiency.cxx:240
 AliFMDCorrMergingEfficiency.cxx:241
 AliFMDCorrMergingEfficiency.cxx:242
 AliFMDCorrMergingEfficiency.cxx:243
 AliFMDCorrMergingEfficiency.cxx:244
 AliFMDCorrMergingEfficiency.cxx:245
 AliFMDCorrMergingEfficiency.cxx:246
 AliFMDCorrMergingEfficiency.cxx:247
 AliFMDCorrMergingEfficiency.cxx:248
 AliFMDCorrMergingEfficiency.cxx:249
 AliFMDCorrMergingEfficiency.cxx:250
 AliFMDCorrMergingEfficiency.cxx:251
 AliFMDCorrMergingEfficiency.cxx:252
 AliFMDCorrMergingEfficiency.cxx:253
 AliFMDCorrMergingEfficiency.cxx:254
 AliFMDCorrMergingEfficiency.cxx:255
 AliFMDCorrMergingEfficiency.cxx:256
 AliFMDCorrMergingEfficiency.cxx:257
 AliFMDCorrMergingEfficiency.cxx:258
 AliFMDCorrMergingEfficiency.cxx:259
 AliFMDCorrMergingEfficiency.cxx:260
 AliFMDCorrMergingEfficiency.cxx:261
 AliFMDCorrMergingEfficiency.cxx:262
 AliFMDCorrMergingEfficiency.cxx:263
 AliFMDCorrMergingEfficiency.cxx:264
 AliFMDCorrMergingEfficiency.cxx:265
 AliFMDCorrMergingEfficiency.cxx:266
 AliFMDCorrMergingEfficiency.cxx:267
 AliFMDCorrMergingEfficiency.cxx:268
 AliFMDCorrMergingEfficiency.cxx:269
 AliFMDCorrMergingEfficiency.cxx:270
 AliFMDCorrMergingEfficiency.cxx:271
 AliFMDCorrMergingEfficiency.cxx:272
 AliFMDCorrMergingEfficiency.cxx:273
 AliFMDCorrMergingEfficiency.cxx:274
 AliFMDCorrMergingEfficiency.cxx:275
 AliFMDCorrMergingEfficiency.cxx:276
 AliFMDCorrMergingEfficiency.cxx:277
 AliFMDCorrMergingEfficiency.cxx:278
 AliFMDCorrMergingEfficiency.cxx:279
 AliFMDCorrMergingEfficiency.cxx:280
 AliFMDCorrMergingEfficiency.cxx:281
 AliFMDCorrMergingEfficiency.cxx:282
 AliFMDCorrMergingEfficiency.cxx:283
 AliFMDCorrMergingEfficiency.cxx:284
 AliFMDCorrMergingEfficiency.cxx:285
 AliFMDCorrMergingEfficiency.cxx:286
 AliFMDCorrMergingEfficiency.cxx:287
 AliFMDCorrMergingEfficiency.cxx:288
 AliFMDCorrMergingEfficiency.cxx:289
 AliFMDCorrMergingEfficiency.cxx:290
 AliFMDCorrMergingEfficiency.cxx:291
 AliFMDCorrMergingEfficiency.cxx:292
 AliFMDCorrMergingEfficiency.cxx:293
 AliFMDCorrMergingEfficiency.cxx:294
 AliFMDCorrMergingEfficiency.cxx:295
 AliFMDCorrMergingEfficiency.cxx:296
 AliFMDCorrMergingEfficiency.cxx:297
 AliFMDCorrMergingEfficiency.cxx:298
 AliFMDCorrMergingEfficiency.cxx:299
 AliFMDCorrMergingEfficiency.cxx:300
 AliFMDCorrMergingEfficiency.cxx:301
 AliFMDCorrMergingEfficiency.cxx:302
 AliFMDCorrMergingEfficiency.cxx:303
 AliFMDCorrMergingEfficiency.cxx:304
 AliFMDCorrMergingEfficiency.cxx:305
 AliFMDCorrMergingEfficiency.cxx:306
 AliFMDCorrMergingEfficiency.cxx:307
 AliFMDCorrMergingEfficiency.cxx:308
 AliFMDCorrMergingEfficiency.cxx:309
 AliFMDCorrMergingEfficiency.cxx:310
 AliFMDCorrMergingEfficiency.cxx:311
 AliFMDCorrMergingEfficiency.cxx:312
 AliFMDCorrMergingEfficiency.cxx:313
 AliFMDCorrMergingEfficiency.cxx:314
 AliFMDCorrMergingEfficiency.cxx:315
 AliFMDCorrMergingEfficiency.cxx:316
 AliFMDCorrMergingEfficiency.cxx:317
 AliFMDCorrMergingEfficiency.cxx:318
 AliFMDCorrMergingEfficiency.cxx:319
 AliFMDCorrMergingEfficiency.cxx:320
 AliFMDCorrMergingEfficiency.cxx:321