ROOT logo
//____________________________________________________________________
//
// $Id: DrawDigits.C 30718 2009-01-22 16:07:40Z cholm $
//
// Script that contains a class to draw eloss from hits, versus ADC
// counts from digits, using the AliFMDInputHits class in the util library. 
//
// It draws the energy loss versus the p/(mq^2).  It can be overlayed
// with the Bethe-Bloc curve to show how the simulation behaves
// relative to the expected. 
//
// Use the script `Compile.C' to compile this class using ACLic. 
//
#include <TH1F.h>
#include <TMath.h>
#include <TStyle.h>
#include <TArrayF.h>
#include <TSystem.h>
#include <TFile.h>
#include <TCanvas.h>
#include <TSystem.h>
#include <TRandom.h>
#include <TPad.h>
#include <TLegend.h>

#include <AliCDBManager.h>
#include <AliFMDDigit.h>
#include <AliFMDInput.h>
#include <AliFMDParameters.h>
#include <AliRawReader.h>
#include <AliLog.h>

#include <iostream>

/** @class DrawDigits
    @brief Draw pedestal, noise, and both common mode noise corrected
    @code 
    Root> .L Compile.C
    Root> Compile("FindCommonModeNoise.C")
    Root> FindCommonModeNoise fcmn("file");
    Root> fcmn.Run();
    @endcode

    If null is passed instead of a file, then a simulation of common
    mode noise is run instead.

    @ingroup FMD_script
 */
class FindCommonModeNoise : public AliFMDInput
{
private:
  TString fCalibDir;
  Int_t   fCount;
  TFile*  fOut;
  Float_t fShift;
  Float_t fCmn;                // Common mode noise component
  TH1F*   fPed;                // 
  TH1F*   fNoise;              //
  TH1F*   fCenteredPed;        //
  TH1F*   fCorrectedNoise;     //
  TH1F*   fSummedAdc;          //
  TH1F*   fSummedAdc2;         //
  TH1F*   fSummedCenteredAdc;  //
  TH1F*   fSummedCenteredAdc2; //
  TH1F*   fAdc;                //

public:
  //__________________________________________________________________
  FindCommonModeNoise(const char*  file, 
		      const char*  calibDir=0) 
    : AliFMDInput(), 
      fCalibDir(""), 
      fOut(0)
  { 
    fCmn = 2;
    if (calibDir) fCalibDir = calibDir;
    if (file) { 
      AddLoad(kRaw);
      SetRawFile(file);
    }
    else 
      AddLoad(kUser);
    
    TString outName(Form("histo_%s", gSystem->BaseName(fRawFile.Data())));
    if (!outName.EndsWith(".root")) outName.Append(".root");
    fOut  = TFile::Open(outName.Data(),"RECREATE");

    fPed                = MakeHist("ped_dist","Pedestal Distribution");
    fNoise              = MakeHist("noise_dist",
				   "Noise Distribution (Not CMN corrected)");
    fCenteredPed        = MakeHist("cmn_ped_dist",
				   "Pedestal - Average Pedestal Distribution");
    fCorrectedNoise     = MakeHist("noise_corrected_dist",
				   "Noise Distribution (CMN corrected)");
    fSummedAdc          = MakeHist("sum_adc_dist","Sum ADC Distribution");
    fSummedAdc2         = MakeHist("sum_adc2_dist",
				   "Sum ADC Squared Distribution");
    fSummedCenteredAdc  = MakeHist("sum_cmn_adc_dist",
				   "Sum CMN Adjusted ADC Distribution");
    fSummedCenteredAdc2 = MakeHist("sum_cmn_adc2_dist",
				   "Sum CMN Adjusted ADC Squared Distribution");
    fAdc                = MakeHist("adc_dist","Current ADC Distribution");
  }
  //__________________________________________________________________
  Int_t NEvents() const 
  { 
    Int_t nEv = (fReader ? fReader->GetNumberOfEvents() : -1);
    if (nEv > 0) return TMath::Min(nEv, 1000);
    return 1000;
  }
  //__________________________________________________________________
  TH1F* MakeHist(const char* name, const char* title)
  {
    TH1F* h = new TH1F(name,title,51200,-0.5,51199.5);
    h->SetXTitle("Strip number");
    h->SetFillColor(kRed);
    h->SetFillStyle(3001);
    h->SetDirectory(0);
    h->SetStats(kFALSE);
    return h;
  }
  //__________________________________________________________________
  Bool_t Init()
  {
    AliCDBManager* cdb = AliCDBManager::Instance();
    cdb->SetRun(0);
    cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");

    AliFMDParameters* pars = AliFMDParameters::Instance();
    if (fCalibDir.IsNull())
      pars->Init(kFALSE);
    else 
      pars->Init(fCalibDir.Data(), kFALSE);

    fCount = 0;

    return AliFMDInput::Init();
  }

  //__________________________________________________________________
  Bool_t Begin(Int_t e)
  {
    fCount++;
    fAdc->Reset();
    // Common mode noise generation
    fShift = gRandom->Gaus(0, fCmn);
    return AliFMDInput::Begin(e);
  }

  //__________________________________________________________________
  Int_t BinCenter(UShort_t d, Char_t r, UShort_t s, UShort_t t) const
  {
    if (d == 1 && !(r == 'I' || r == 'i')) return -1;

    Int_t idx = -1;
    switch (d) { 
    case 1: idx = 0; break;
    case 2: idx = 10240; break;
    case 3: idx = 3 * 10240; break;
    default: 
      return -1;
    }
    
    UShort_t q    = (r == 'I' || r == 'i' ? 0 : 1);
    // UShort_t nSec = (q == 0 ?  20 :  40);
    UShort_t nStr = (q == 0 ? 512 : 256);

    idx += (q == 0 ? 0 : 10240);
    idx += s * nStr + t;

    if (idx >= 51200) return -1;
    return idx;
  }
  
  //__________________________________________________________________
  Int_t BinCenter(UShort_t chip, UShort_t strip) const 
  {
    return chip * 128 + strip;
  }
  //__________________________________________________________________
  Int_t BinNumber(UShort_t chip, UShort_t strip) const 
  {
    return 1 + BinCenter(chip, strip);
  }
  //__________________________________________________________________
  Float_t GetSignal(UShort_t d, Char_t, UShort_t s, UShort_t t)
  {
    // Calculate signal value.  Only the first 256 strips of FMD are
    // filled. 
    if (d > 1 || s > 0 || t > 256) return 0;
    Float_t c = 0.005;
    Float_t x = (t % 128);
    Float_t p = c * (64 * 64 - 128 * x + x * x) + 100;
    Float_t n = (p-100)/40 + 1;

    // In case we simulate a common mode noise component. 
    if (t < 128) 
      return fShift + gRandom->Gaus(p, n);
   
    // In case all noise is uncorrelated. 
    return gRandom->Gaus(p, TMath::Sqrt(n*n + fCmn*fCmn));
  }    
  //__________________________________________________________________
  Bool_t ProcessRawDigit(AliFMDDigit* digit)
  {
    // From data 
    if (!digit) return kTRUE;

    UShort_t d             =  digit->Detector();
    Char_t   r             =  digit->Ring();
    UShort_t s             =  digit->Sector();
    UShort_t t             =  digit->Strip();
    return ProcessOne(d, r, s, t, digit->Counts());
  }
  //__________________________________________________________________
  Bool_t ProcessUser(UShort_t d, Char_t r, UShort_t s, UShort_t t, Float_t v)
  {
    // From our simulator in GetValue
    return ProcessOne(d, r, s, t, v);
  }
  //__________________________________________________________________
  Bool_t ProcessOne(UShort_t d, Char_t r, UShort_t s, UShort_t t, Float_t v)
  {
    Int_t    i             =  BinCenter(d, r, s, t);
    if (i < 0) { 
      std::cout << "Invalid index " << i << " returned for FMD" 
		<< d << r << '[' << s << ',' << t << ']' << std::endl;
      return kFALSE;
    }

    fAdc->Fill(i, v);

    return kTRUE;
  }
  //__________________________________________________________________
  Bool_t End()
  {
    // At the end of each event, fill the summed histograms. 
    for (UShort_t chip = 0; chip < 400; chip++) { 
      Double_t chipAv = 0;
      for (UShort_t strip = 0; strip < 128; strip++) 
	chipAv += fAdc->GetBinContent(1+BinCenter(chip, strip));
      chipAv /= 128;
      
      for (UShort_t strip = 0; strip < 128; strip++) {
	Int_t    i    = BinCenter(chip, strip);
	Double_t adc  = fAdc->GetBinContent(i+1);
	Double_t cAdc = chipAv - adc;
	fSummedAdc->Fill(i, adc);
	fSummedAdc2->Fill(i, adc * adc);
	fSummedCenteredAdc->Fill(i, cAdc);
	fSummedCenteredAdc2->Fill(i, cAdc*cAdc);
      }
    }

    return AliFMDInput::End();
  }
  //__________________________________________________________________
  Bool_t Finish()
  {
    if (fEventCount == 0) { 
      std::cerr << "No events!" << std::endl;
      return kFALSE;
    }

    for (UInt_t bin = 1; bin <= 51200; bin++) { 
      if (bin % (51200 / 10) == 0) 
	std::cout << "Bin # " << bin << std::endl;
      Double_t sumAdc  = fSummedAdc->GetBinContent(bin);
      Double_t sumAdc2 = fSummedAdc2->GetBinContent(bin);
      Double_t avAdc   = sumAdc / fEventCount;
      Double_t avAdc2  = sumAdc2 / fEventCount;
      Double_t noise2  = avAdc2 - avAdc * avAdc;
    
      fPed->SetBinContent(bin, avAdc);
      fNoise->SetBinContent(bin, noise2 >= 0 ? TMath::Sqrt(noise2) : 0);
      
      Double_t sumCAdc  = fSummedCenteredAdc->GetBinContent(bin);
      Double_t sumCAdc2 = fSummedCenteredAdc2->GetBinContent(bin);
      Double_t avCAdc   = sumCAdc / fEventCount;
      Double_t avCAdc2  = sumCAdc2 / fEventCount;
      Double_t cNoise2  = avCAdc2 - avCAdc * avCAdc;
      fCenteredPed->SetBinContent(bin, avCAdc);
      fCorrectedNoise->SetBinContent(bin, TMath::Sqrt(cNoise2));
    }
    
    gStyle->SetPalette(1);
    gStyle->SetOptTitle(0);
    gStyle->SetCanvasColor(0);
    gStyle->SetCanvasBorderSize(0);
    gStyle->SetPadColor(0);
    gStyle->SetPadBorderSize(0);
  
    TCanvas* c = new TCanvas("c", "C", 800, 600);
    c->SetFillColor(0);
    c->SetBorderMode(0);
    c->SetBorderSize(0);
    c->SetTopMargin(0);
    c->SetBottomMargin(0);
    c->Divide(2, 1);
    
    TPad* p1 = static_cast<TPad*>(c->cd(1));
    p1->SetTopMargin(0.05);
    p1->SetRightMargin(0.05);
    if (!fReader) fNoise->GetXaxis()->SetRangeUser(-0.5, 255.5);
    fNoise->SetMinimum(0);
    fNoise->SetMaximum(1.5*fNoise->GetMaximum());
    fNoise->DrawCopy();
    fCorrectedNoise->SetMinimum(0);
    fCorrectedNoise->SetFillColor(kBlue);
    fCorrectedNoise->DrawCopy("same");
    TLegend* l1 = new TLegend(0.2, 0.7, 0.945, 0.945);
    l1->SetFillColor(0);
    l1->SetFillStyle(0);
    l1->SetBorderSize(0);
    l1->AddEntry(fNoise, "Noise", "f");
    l1->AddEntry(fCorrectedNoise, "Corrected noise", "f");
    l1->Draw();
      

    TPad* p2 = static_cast<TPad*>(c->cd(2));
    p2->SetTopMargin(0.05);
    p2->SetRightMargin(0.05);
    if (!fReader) fPed->GetXaxis()->SetRangeUser(-0.5, 255.5);
    fPed->SetMinimum(fCenteredPed->GetMinimum());
    fPed->SetMaximum(1.5*fPed->GetMaximum());
    fPed->DrawCopy();
    fCenteredPed->SetFillColor(kBlue);
    fCenteredPed->DrawCopy("same");
    TLegend* l2 = new TLegend(0.2, 0.7, 0.945, 0.945);
    l2->SetFillColor(0);
    l2->SetFillStyle(0);
    l2->SetBorderSize(0);
    l2->AddEntry(fPed, "Pedestal", "f");
    l2->AddEntry(fCenteredPed, "Pedestal - #bar{Pedestal}", "f");
    l2->Draw();

    c->Modified();
    c->Update();
    c->cd();
    c->Print("cmn.png");

    if (fOut) { 
      std::cout << "Flusing to disk ... " << std::flush;
      fOut->cd();
      fPed->Write();                //
      fNoise->Write();              //
      fCenteredPed->Write();        //
      fCorrectedNoise->Write();     //
      fSummedAdc->Write();          //
      fSummedAdc2->Write();         //
      fSummedCenteredAdc->Write();  //
      fSummedCenteredAdc2->Write(); //
      fAdc->Write();                //
      fOut->Write();
      fOut->Close();
      std::cout << "done" << std::endl;
    }
    return kTRUE;
  }

  ClassDef(FindCommonModeNoise,0);
};

//____________________________________________________________________
//
// EOF
//
 FindCommonModeNoise.C:1
 FindCommonModeNoise.C:2
 FindCommonModeNoise.C:3
 FindCommonModeNoise.C:4
 FindCommonModeNoise.C:5
 FindCommonModeNoise.C:6
 FindCommonModeNoise.C:7
 FindCommonModeNoise.C:8
 FindCommonModeNoise.C:9
 FindCommonModeNoise.C:10
 FindCommonModeNoise.C:11
 FindCommonModeNoise.C:12
 FindCommonModeNoise.C:13
 FindCommonModeNoise.C:14
 FindCommonModeNoise.C:15
 FindCommonModeNoise.C:16
 FindCommonModeNoise.C:17
 FindCommonModeNoise.C:18
 FindCommonModeNoise.C:19
 FindCommonModeNoise.C:20
 FindCommonModeNoise.C:21
 FindCommonModeNoise.C:22
 FindCommonModeNoise.C:23
 FindCommonModeNoise.C:24
 FindCommonModeNoise.C:25
 FindCommonModeNoise.C:26
 FindCommonModeNoise.C:27
 FindCommonModeNoise.C:28
 FindCommonModeNoise.C:29
 FindCommonModeNoise.C:30
 FindCommonModeNoise.C:31
 FindCommonModeNoise.C:32
 FindCommonModeNoise.C:33
 FindCommonModeNoise.C:34
 FindCommonModeNoise.C:35
 FindCommonModeNoise.C:36
 FindCommonModeNoise.C:37
 FindCommonModeNoise.C:38
 FindCommonModeNoise.C:39
 FindCommonModeNoise.C:40
 FindCommonModeNoise.C:41
 FindCommonModeNoise.C:42
 FindCommonModeNoise.C:43
 FindCommonModeNoise.C:44
 FindCommonModeNoise.C:45
 FindCommonModeNoise.C:46
 FindCommonModeNoise.C:47
 FindCommonModeNoise.C:48
 FindCommonModeNoise.C:49
 FindCommonModeNoise.C:50
 FindCommonModeNoise.C:51
 FindCommonModeNoise.C:52
 FindCommonModeNoise.C:53
 FindCommonModeNoise.C:54
 FindCommonModeNoise.C:55
 FindCommonModeNoise.C:56
 FindCommonModeNoise.C:57
 FindCommonModeNoise.C:58
 FindCommonModeNoise.C:59
 FindCommonModeNoise.C:60
 FindCommonModeNoise.C:61
 FindCommonModeNoise.C:62
 FindCommonModeNoise.C:63
 FindCommonModeNoise.C:64
 FindCommonModeNoise.C:65
 FindCommonModeNoise.C:66
 FindCommonModeNoise.C:67
 FindCommonModeNoise.C:68
 FindCommonModeNoise.C:69
 FindCommonModeNoise.C:70
 FindCommonModeNoise.C:71
 FindCommonModeNoise.C:72
 FindCommonModeNoise.C:73
 FindCommonModeNoise.C:74
 FindCommonModeNoise.C:75
 FindCommonModeNoise.C:76
 FindCommonModeNoise.C:77
 FindCommonModeNoise.C:78
 FindCommonModeNoise.C:79
 FindCommonModeNoise.C:80
 FindCommonModeNoise.C:81
 FindCommonModeNoise.C:82
 FindCommonModeNoise.C:83
 FindCommonModeNoise.C:84
 FindCommonModeNoise.C:85
 FindCommonModeNoise.C:86
 FindCommonModeNoise.C:87
 FindCommonModeNoise.C:88
 FindCommonModeNoise.C:89
 FindCommonModeNoise.C:90
 FindCommonModeNoise.C:91
 FindCommonModeNoise.C:92
 FindCommonModeNoise.C:93
 FindCommonModeNoise.C:94
 FindCommonModeNoise.C:95
 FindCommonModeNoise.C:96
 FindCommonModeNoise.C:97
 FindCommonModeNoise.C:98
 FindCommonModeNoise.C:99
 FindCommonModeNoise.C:100
 FindCommonModeNoise.C:101
 FindCommonModeNoise.C:102
 FindCommonModeNoise.C:103
 FindCommonModeNoise.C:104
 FindCommonModeNoise.C:105
 FindCommonModeNoise.C:106
 FindCommonModeNoise.C:107
 FindCommonModeNoise.C:108
 FindCommonModeNoise.C:109
 FindCommonModeNoise.C:110
 FindCommonModeNoise.C:111
 FindCommonModeNoise.C:112
 FindCommonModeNoise.C:113
 FindCommonModeNoise.C:114
 FindCommonModeNoise.C:115
 FindCommonModeNoise.C:116
 FindCommonModeNoise.C:117
 FindCommonModeNoise.C:118
 FindCommonModeNoise.C:119
 FindCommonModeNoise.C:120
 FindCommonModeNoise.C:121
 FindCommonModeNoise.C:122
 FindCommonModeNoise.C:123
 FindCommonModeNoise.C:124
 FindCommonModeNoise.C:125
 FindCommonModeNoise.C:126
 FindCommonModeNoise.C:127
 FindCommonModeNoise.C:128
 FindCommonModeNoise.C:129
 FindCommonModeNoise.C:130
 FindCommonModeNoise.C:131
 FindCommonModeNoise.C:132
 FindCommonModeNoise.C:133
 FindCommonModeNoise.C:134
 FindCommonModeNoise.C:135
 FindCommonModeNoise.C:136
 FindCommonModeNoise.C:137
 FindCommonModeNoise.C:138
 FindCommonModeNoise.C:139
 FindCommonModeNoise.C:140
 FindCommonModeNoise.C:141
 FindCommonModeNoise.C:142
 FindCommonModeNoise.C:143
 FindCommonModeNoise.C:144
 FindCommonModeNoise.C:145
 FindCommonModeNoise.C:146
 FindCommonModeNoise.C:147
 FindCommonModeNoise.C:148
 FindCommonModeNoise.C:149
 FindCommonModeNoise.C:150
 FindCommonModeNoise.C:151
 FindCommonModeNoise.C:152
 FindCommonModeNoise.C:153
 FindCommonModeNoise.C:154
 FindCommonModeNoise.C:155
 FindCommonModeNoise.C:156
 FindCommonModeNoise.C:157
 FindCommonModeNoise.C:158
 FindCommonModeNoise.C:159
 FindCommonModeNoise.C:160
 FindCommonModeNoise.C:161
 FindCommonModeNoise.C:162
 FindCommonModeNoise.C:163
 FindCommonModeNoise.C:164
 FindCommonModeNoise.C:165
 FindCommonModeNoise.C:166
 FindCommonModeNoise.C:167
 FindCommonModeNoise.C:168
 FindCommonModeNoise.C:169
 FindCommonModeNoise.C:170
 FindCommonModeNoise.C:171
 FindCommonModeNoise.C:172
 FindCommonModeNoise.C:173
 FindCommonModeNoise.C:174
 FindCommonModeNoise.C:175
 FindCommonModeNoise.C:176
 FindCommonModeNoise.C:177
 FindCommonModeNoise.C:178
 FindCommonModeNoise.C:179
 FindCommonModeNoise.C:180
 FindCommonModeNoise.C:181
 FindCommonModeNoise.C:182
 FindCommonModeNoise.C:183
 FindCommonModeNoise.C:184
 FindCommonModeNoise.C:185
 FindCommonModeNoise.C:186
 FindCommonModeNoise.C:187
 FindCommonModeNoise.C:188
 FindCommonModeNoise.C:189
 FindCommonModeNoise.C:190
 FindCommonModeNoise.C:191
 FindCommonModeNoise.C:192
 FindCommonModeNoise.C:193
 FindCommonModeNoise.C:194
 FindCommonModeNoise.C:195
 FindCommonModeNoise.C:196
 FindCommonModeNoise.C:197
 FindCommonModeNoise.C:198
 FindCommonModeNoise.C:199
 FindCommonModeNoise.C:200
 FindCommonModeNoise.C:201
 FindCommonModeNoise.C:202
 FindCommonModeNoise.C:203
 FindCommonModeNoise.C:204
 FindCommonModeNoise.C:205
 FindCommonModeNoise.C:206
 FindCommonModeNoise.C:207
 FindCommonModeNoise.C:208
 FindCommonModeNoise.C:209
 FindCommonModeNoise.C:210
 FindCommonModeNoise.C:211
 FindCommonModeNoise.C:212
 FindCommonModeNoise.C:213
 FindCommonModeNoise.C:214
 FindCommonModeNoise.C:215
 FindCommonModeNoise.C:216
 FindCommonModeNoise.C:217
 FindCommonModeNoise.C:218
 FindCommonModeNoise.C:219
 FindCommonModeNoise.C:220
 FindCommonModeNoise.C:221
 FindCommonModeNoise.C:222
 FindCommonModeNoise.C:223
 FindCommonModeNoise.C:224
 FindCommonModeNoise.C:225
 FindCommonModeNoise.C:226
 FindCommonModeNoise.C:227
 FindCommonModeNoise.C:228
 FindCommonModeNoise.C:229
 FindCommonModeNoise.C:230
 FindCommonModeNoise.C:231
 FindCommonModeNoise.C:232
 FindCommonModeNoise.C:233
 FindCommonModeNoise.C:234
 FindCommonModeNoise.C:235
 FindCommonModeNoise.C:236
 FindCommonModeNoise.C:237
 FindCommonModeNoise.C:238
 FindCommonModeNoise.C:239
 FindCommonModeNoise.C:240
 FindCommonModeNoise.C:241
 FindCommonModeNoise.C:242
 FindCommonModeNoise.C:243
 FindCommonModeNoise.C:244
 FindCommonModeNoise.C:245
 FindCommonModeNoise.C:246
 FindCommonModeNoise.C:247
 FindCommonModeNoise.C:248
 FindCommonModeNoise.C:249
 FindCommonModeNoise.C:250
 FindCommonModeNoise.C:251
 FindCommonModeNoise.C:252
 FindCommonModeNoise.C:253
 FindCommonModeNoise.C:254
 FindCommonModeNoise.C:255
 FindCommonModeNoise.C:256
 FindCommonModeNoise.C:257
 FindCommonModeNoise.C:258
 FindCommonModeNoise.C:259
 FindCommonModeNoise.C:260
 FindCommonModeNoise.C:261
 FindCommonModeNoise.C:262
 FindCommonModeNoise.C:263
 FindCommonModeNoise.C:264
 FindCommonModeNoise.C:265
 FindCommonModeNoise.C:266
 FindCommonModeNoise.C:267
 FindCommonModeNoise.C:268
 FindCommonModeNoise.C:269
 FindCommonModeNoise.C:270
 FindCommonModeNoise.C:271
 FindCommonModeNoise.C:272
 FindCommonModeNoise.C:273
 FindCommonModeNoise.C:274
 FindCommonModeNoise.C:275
 FindCommonModeNoise.C:276
 FindCommonModeNoise.C:277
 FindCommonModeNoise.C:278
 FindCommonModeNoise.C:279
 FindCommonModeNoise.C:280
 FindCommonModeNoise.C:281
 FindCommonModeNoise.C:282
 FindCommonModeNoise.C:283
 FindCommonModeNoise.C:284
 FindCommonModeNoise.C:285
 FindCommonModeNoise.C:286
 FindCommonModeNoise.C:287
 FindCommonModeNoise.C:288
 FindCommonModeNoise.C:289
 FindCommonModeNoise.C:290
 FindCommonModeNoise.C:291
 FindCommonModeNoise.C:292
 FindCommonModeNoise.C:293
 FindCommonModeNoise.C:294
 FindCommonModeNoise.C:295
 FindCommonModeNoise.C:296
 FindCommonModeNoise.C:297
 FindCommonModeNoise.C:298
 FindCommonModeNoise.C:299
 FindCommonModeNoise.C:300
 FindCommonModeNoise.C:301
 FindCommonModeNoise.C:302
 FindCommonModeNoise.C:303
 FindCommonModeNoise.C:304
 FindCommonModeNoise.C:305
 FindCommonModeNoise.C:306
 FindCommonModeNoise.C:307
 FindCommonModeNoise.C:308
 FindCommonModeNoise.C:309
 FindCommonModeNoise.C:310
 FindCommonModeNoise.C:311
 FindCommonModeNoise.C:312
 FindCommonModeNoise.C:313
 FindCommonModeNoise.C:314
 FindCommonModeNoise.C:315
 FindCommonModeNoise.C:316
 FindCommonModeNoise.C:317
 FindCommonModeNoise.C:318
 FindCommonModeNoise.C:319
 FindCommonModeNoise.C:320
 FindCommonModeNoise.C:321
 FindCommonModeNoise.C:322
 FindCommonModeNoise.C:323
 FindCommonModeNoise.C:324
 FindCommonModeNoise.C:325
 FindCommonModeNoise.C:326
 FindCommonModeNoise.C:327
 FindCommonModeNoise.C:328
 FindCommonModeNoise.C:329
 FindCommonModeNoise.C:330
 FindCommonModeNoise.C:331
 FindCommonModeNoise.C:332
 FindCommonModeNoise.C:333
 FindCommonModeNoise.C:334
 FindCommonModeNoise.C:335
 FindCommonModeNoise.C:336
 FindCommonModeNoise.C:337
 FindCommonModeNoise.C:338
 FindCommonModeNoise.C:339
 FindCommonModeNoise.C:340
 FindCommonModeNoise.C:341
 FindCommonModeNoise.C:342
 FindCommonModeNoise.C:343
 FindCommonModeNoise.C:344
 FindCommonModeNoise.C:345
 FindCommonModeNoise.C:346
 FindCommonModeNoise.C:347
 FindCommonModeNoise.C:348
 FindCommonModeNoise.C:349
 FindCommonModeNoise.C:350
 FindCommonModeNoise.C:351
 FindCommonModeNoise.C:352
 FindCommonModeNoise.C:353
 FindCommonModeNoise.C:354
 FindCommonModeNoise.C:355
 FindCommonModeNoise.C:356
 FindCommonModeNoise.C:357
 FindCommonModeNoise.C:358
 FindCommonModeNoise.C:359
 FindCommonModeNoise.C:360
 FindCommonModeNoise.C:361
 FindCommonModeNoise.C:362
 FindCommonModeNoise.C:363
 FindCommonModeNoise.C:364
 FindCommonModeNoise.C:365
 FindCommonModeNoise.C:366
 FindCommonModeNoise.C:367
 FindCommonModeNoise.C:368
 FindCommonModeNoise.C:369