ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TGraph.h>
#include <TStyle.h>
#include <TLegend.h>
#include <TLegendEntry.h>
#include <TLine.h>
#include <TSystem.h>
#include <TGrid.h>
#include <TMath.h>
#include <TGraphErrors.h>
#include <TCanvas.h>
#include <TLatex.h>
#include <TObjArray.h>
#include "AliCDBEntry.h"
#include "AliITSDriftSpeedArraySDD.h"
#include "AliITSgeomTGeo.h"
#endif

/*  $Id: PlotDriftSpeedSDDVsTime.C 41510 2010-06-01 09:21:24Z prino $    */


// Macro to plot the drift speed vs. time from the OCDB files 
// created from INJECTOR runs (OCDB/ITS/Calib/DriftSpeedSDD)
// Origin: F. Prino (prino@to.infn.it)

void FillErrors(Float_t errSpeed[260]);

void PlotDriftSpeedSDDVsTime(Int_t year=2014, Int_t firstRun=172600, 
			     Int_t lastRun=999999999,
			     Int_t anode=128){
  TGrid::Connect("alien:",0,0,"t");
  Float_t errSpeed[260];
  FillErrors(errSpeed);
  Int_t iAn=anode;
  if(anode>256) iAn=anode-256;

  TString cmd=Form("gbbox find \"/alice/data/%d/OCDB/ITS/Calib/DriftSpeedSDD\" \"Run*.root\" > runSpeedAlien.txt",year);
  gSystem->Exec(cmd.Data());
  FILE* listruns=fopen("runSpeedAlien.txt","r");
  Char_t filnam[200],filnamalien[200];
  TGraphErrors** gvdrvstime=new TGraphErrors*[520];
  TGraphErrors** gvdrvsrun=new TGraphErrors*[520];
  TGraphErrors** gstatusinjvstime=new TGraphErrors*[520];
  TGraphErrors** gstatusinjvsrun=new TGraphErrors*[520];


  TGraph* gGoodInjVsRun=new TGraph(0);
  gGoodInjVsRun->SetName("gGoodInjVsRun");
  TGraph* gRescaledSpeedVsRun=new TGraph(0);
  gRescaledSpeedVsRun->SetName("gRescaledSpeedVsRun");
  TGraph* gAverSpeedVsRun=new TGraph(0);
  gAverSpeedVsRun->SetName("gAverSpeedVsRun");
  TGraph* gGoodInjVsTime=new TGraph(0);
  gGoodInjVsTime->SetName("gGoodInjVsTime");
  TGraph* gRescaledSpeedVsTime=new TGraph(0);
  gRescaledSpeedVsTime->SetName("gRescaledSpeedVsTime");
  TGraph* gAverSpeedVsTime=new TGraph(0);
  gAverSpeedVsTime->SetName("gAverSpeedVsIime");

  TGraph* gGoodInjVsRunL3=new TGraph(0);
  gGoodInjVsRunL3->SetName("gGoodInjVsRunL3");
  TGraph* gRescaledSpeedVsRunL3=new TGraph(0);
  gRescaledSpeedVsRunL3->SetName("gRescaledSpeedVsRunL3");
  TGraph* gAverSpeedVsRunL3=new TGraph(0);
  gAverSpeedVsRunL3->SetName("gAverSpeedVsRunL3");
  TGraph* gGoodInjVsTimeL3=new TGraph(0);
  gGoodInjVsTimeL3->SetName("gGoodInjVsTimeL3");
  TGraph* gRescaledSpeedVsTimeL3=new TGraph(0);
  gRescaledSpeedVsTimeL3->SetName("gRescaledSpeedVsTimeL3");
  TGraph* gAverSpeedVsTimeL3=new TGraph(0);
  gAverSpeedVsTimeL3->SetName("gAverSpeedVsIimeL3");

  TGraph* gGoodInjVsRunL4=new TGraph(0);
  gGoodInjVsRunL4->SetName("gGoodInjVsRunL4");
  TGraph* gRescaledSpeedVsRunL4=new TGraph(0);
  gRescaledSpeedVsRunL4->SetName("gRescaledSpeedVsRunL4");
  TGraph* gAverSpeedVsRunL4=new TGraph(0);
  gAverSpeedVsRunL4->SetName("gAverSpeedVsRunL4");
  TGraph* gGoodInjVsTimeL4=new TGraph(0);
  gGoodInjVsTimeL4->SetName("gGoodInjVsTimeL4");
  TGraph* gRescaledSpeedVsTimeL4=new TGraph(0);
  gRescaledSpeedVsTimeL4->SetName("gRescaledSpeedVsTimeL4");
  TGraph* gAverSpeedVsTimeL4=new TGraph(0);
  gAverSpeedVsTimeL4->SetName("gAverSpeedVsIimeL4");

  TGraph* gFracGoodInjVsRun=new TGraph(0);
  gFracGoodInjVsRun->SetName("gFracGoodInjVsRun");
  TGraph* gFracRescaledSpeedVsRun=new TGraph(0);
  gFracRescaledSpeedVsRun->SetName("gFracRescaledSpeedVsRun");
  TGraph* gFracAverSpeedVsRun=new TGraph(0);
  gFracAverSpeedVsRun->SetName("gFracAverSpeedVsRun");
  TGraph* gFracGoodInjVsTime=new TGraph(0);
  gFracGoodInjVsTime->SetName("gFracGoodInjVsTime");
  TGraph* gFracRescaledSpeedVsTime=new TGraph(0);
  gFracRescaledSpeedVsTime->SetName("gFracRescaledSpeedVsTime");
  TGraph* gFracAverSpeedVsTime=new TGraph(0);
  gFracAverSpeedVsTime->SetName("gAverSpeedVsIime");

  TGraph* gFracGoodInjVsRunL3=new TGraph(0);
  gFracGoodInjVsRunL3->SetName("gFracGoodInjVsRunL3");
  TGraph* gFracRescaledSpeedVsRunL3=new TGraph(0);
  gFracRescaledSpeedVsRunL3->SetName("gFracRescaledSpeedVsRunL3");
  TGraph* gFracAverSpeedVsRunL3=new TGraph(0);
  gFracAverSpeedVsRunL3->SetName("gFracAverSpeedVsRunL3");
  TGraph* gFracGoodInjVsTimeL3=new TGraph(0);
  gFracGoodInjVsTimeL3->SetName("gFracGoodInjVsTimeL3");
  TGraph* gFracRescaledSpeedVsTimeL3=new TGraph(0);
  gFracRescaledSpeedVsTimeL3->SetName("gFracRescaledSpeedVsTimeL3");
  TGraph* gFracAverSpeedVsTimeL3=new TGraph(0);
  gFracAverSpeedVsTimeL3->SetName("gFracAverSpeedVsIimeL3");

  TGraph* gFracGoodInjVsRunL4=new TGraph(0);
  gFracGoodInjVsRunL4->SetName("gFracGoodInjVsRunL4");
  TGraph* gFracRescaledSpeedVsRunL4=new TGraph(0);
  gFracRescaledSpeedVsRunL4->SetName("gFracRescaledSpeedVsRunL4");
  TGraph* gFracAverSpeedVsRunL4=new TGraph(0);
  gFracAverSpeedVsRunL4->SetName("gFracAverSpeedVsRunL4");
  TGraph* gFracGoodInjVsTimeL4=new TGraph(0);
  gFracGoodInjVsTimeL4->SetName("gFracGoodInjVsTimeL4");
  TGraph* gFracRescaledSpeedVsTimeL4=new TGraph(0);
  gFracRescaledSpeedVsTimeL4->SetName("gFracRescaledSpeedVsTimeL4");
  TGraph* gFracAverSpeedVsTimeL4=new TGraph(0);
  gFracAverSpeedVsTimeL4->SetName("gFracAverSpeedVsIimeL4");
  
  for(Int_t iMod=0; iMod<260;iMod++){
    for(Int_t iSide=0; iSide<2; iSide++){
      Int_t index=2*iMod+iSide;
      gvdrvstime[index]=new TGraphErrors(0);    
      gvdrvstime[index]->SetTitle(Form("Module %d Side %d",iMod+240,iSide));
      gvdrvstime[index]->SetName(Form("gspmod%ds%dt",iMod+240,iSide));
      gvdrvsrun[index]=new TGraphErrors(0);    
      gvdrvsrun[index]->SetTitle(Form("Module %d Side %d",iMod+240,iSide));
      gvdrvsrun[index]->SetName(Form("gspmod%ds%dr",iMod+240,iSide));
      gstatusinjvstime[index]=new TGraphErrors(0);    
      gstatusinjvstime[index]->SetTitle(Form("Module %d Side %d",iMod+240,iSide));
      gstatusinjvstime[index]->SetName(Form("gstinmod%ds%dt",iMod+240,iSide));
      gstatusinjvsrun[index]=new TGraphErrors(0);    
      gstatusinjvsrun[index]->SetTitle(Form("Module %d Side %d",iMod+240,iSide));
      gstatusinjvsrun[index]->SetName(Form("gstinmod%ds%dr",iMod+240,iSide));
    }
  }

  Float_t driftField=(1800-45)/291/0.012;  
  Int_t nrun,nrun2,nv,ns;
  UInt_t timeZero;
  if(year==2009) timeZero=1247762992;
  else if(year==2010) timeZero=1262300400;
  else if(year==2011) timeZero=1293836400; // 1/1/2011 at 0:00 CEST
  else if(year==2012) timeZero=1325372400;
  else if(year==2013) timeZero=1356994800;
  else timeZero=1388530800;

  while(!feof(listruns)){
    fscanf(listruns,"%s\n",filnam);
    Char_t directory[100];
    sprintf(directory,"/alice/data/%d",year);
    if(!strstr(filnam,directory)) continue;
       sscanf(filnam,"/alice/data/%d/OCDB/ITS/Calib/DriftSpeedSDD/Run%d_%d_v%d_s%d.root",&year,&nrun,&nrun2,&nv,&ns);

       if(year==2009 && (nrun<85639 && nrun2> 85639)) continue;// protection for files with swapped ladders 4-5 of layer 3 
       if(year==2009 && (nrun>100000 && nv< 325)) continue; // protection for files with swapped ladder 0-1 of layer 4
  
    if(nrun<firstRun) continue;
    if(nrun>lastRun) continue;
    sprintf(filnamalien,"alien://%s",filnam);
    printf("Open file: %s\n",filnam);
    TFile *f= TFile::Open(filnamalien);
    if(f==0x0)continue;
    AliCDBEntry *ent=(AliCDBEntry*)f->Get("AliCDBEntry");
    TObjArray *drspSDD = (TObjArray *)ent->GetObject();
    
    Int_t iGoodInj=0;
    Int_t iRescaledSpeed=0;
    Int_t iAverSpeed=0;
   
    Int_t iGoodInjL3=0;
    Int_t iRescaledSpeedL3=0;
    Int_t iAverSpeedL3=0;
   
    Int_t iGoodInjL4=0;
    Int_t iRescaledSpeedL4=0;
    Int_t iAverSpeedL4=0;

    Int_t totalgoodinj=520;
    Int_t totalgoodinjL3=168;
    Int_t totalgoodinjL4=352;

    Float_t fracGoodInj=0.;
    Float_t fracGoodInjL3=0.;
    Float_t fracGoodInjL4=0.;

    Float_t fracRescaledSpeed=0.;
    Float_t fracRescaledSpeedL3=0.;
    Float_t fracRescaledSpeedL4=0.;

    Float_t fracAverSpeed=0.;
    Float_t fracAverSpeedL3=0.;
    Float_t fracAverSpeedL4=0.;
    
    AliITSDriftSpeedArraySDD *vdriftarr;
    AliITSDriftSpeedArraySDD *vdriftarr0;
    AliITSDriftSpeedArraySDD *vdriftarr1;

    UInt_t timest=0;
    Float_t timeday=0;
    Bool_t goodTime=kFALSE;

    for(Int_t iHyb=0; iHyb<520;iHyb++){
      if(!goodTime){
	vdriftarr=(AliITSDriftSpeedArraySDD*)drspSDD->At(iHyb);
	UInt_t statusInj=vdriftarr->GetInjectorStatus();
	if(statusInj>0){
	  timest=vdriftarr->GetTimestamp(0);
	  if(timest>0 && timest>timeZero){
	    timeday=float(timest-timeZero)/60./60./24.;
	    goodTime=kTRUE;
	  }
	}
      }
    }

    for(Int_t iMod=0; iMod<260;iMod++){

      Int_t i0=2*iMod;
      Int_t i1=1+2*iMod;
      vdriftarr0=(AliITSDriftSpeedArraySDD*)drspSDD->At(i0);
      vdriftarr1=(AliITSDriftSpeedArraySDD*)drspSDD->At(i1);


      UInt_t statusInj0=vdriftarr0->GetInjectorStatus();
      UInt_t statusInj1=vdriftarr1->GetInjectorStatus();
      Int_t npt=gstatusinjvsrun[i0]->GetN();
      gstatusinjvsrun[i0]->SetPoint(npt,(Float_t)nrun,(Float_t)statusInj0);
      gstatusinjvsrun[i1]->SetPoint(npt,(Float_t)nrun,(Float_t)statusInj1);
      gstatusinjvsrun[i0]->SetPointError(npt,0,0);
      gstatusinjvsrun[i1]->SetPointError(npt,0,0);
      if(goodTime){
	Int_t npt2=gstatusinjvstime[i0]->GetN();
	gstatusinjvstime[i0]->SetPoint(npt2,timeday,(Float_t)statusInj0);
	gstatusinjvstime[i1]->SetPoint(npt2,timeday,(Float_t)statusInj1);
	gstatusinjvstime[i0]->SetPointError(npt2,0,0);
	gstatusinjvstime[i1]->SetPointError(npt2,0,0);
      }

      Float_t vdrift0=vdriftarr0->GetDriftSpeed(0,iAn);
      Float_t vdrift1=vdriftarr1->GetDriftSpeed(0,iAn);
      Float_t mob=vdrift0*1.E5/driftField;  
      Float_t temper=293.15*TMath::Power((mob/1350.),-1/2.4); 
      if(iMod==497-240) printf("Run %s   Time %d Day %f Speed=%f Temp=%f\n",filnam,timest,timeday,vdrift0,temper);

      if(statusInj0>1){
	iGoodInj++;
	if(iMod<84)iGoodInjL3++;
	else iGoodInjL4++;
	npt=gvdrvsrun[i0]->GetN();
	gvdrvsrun[i0]->SetPoint(npt,(Float_t)nrun,vdrift0);
	gvdrvsrun[i0]->SetPointError(npt,0,errSpeed[iMod]);
	if(goodTime){
	  Int_t npt2=gvdrvstime[i0]->GetN();
	  gvdrvstime[i0]->SetPoint(npt2,timeday,vdrift0);
	  gvdrvstime[i0]->SetPointError(npt2,0,errSpeed[iMod]);
	}
      }else if(statusInj0==1){
	iRescaledSpeed++;
	if(iMod<84)iRescaledSpeedL3++;
	else iRescaledSpeedL4++;
      }else{ 
	iAverSpeed++;
	if(iMod<84)iAverSpeedL3++;
	else iAverSpeedL4++;
      }
      if(statusInj1>1){ 
	iGoodInj++;
	if(iMod<84)iGoodInjL3++;
	else iGoodInjL4++;
	npt=gvdrvsrun[i1]->GetN();
	gvdrvsrun[i1]->SetPoint(npt,(Float_t)nrun,vdrift1);
	gvdrvsrun[i1]->SetPointError(npt,0,errSpeed[iMod]);
	if(goodTime){
	  Int_t npt2=gvdrvstime[i1]->GetN();
	  gvdrvstime[i1]->SetPoint(npt2,timeday,vdrift1);
	  gvdrvstime[i1]->SetPointError(npt2,0,errSpeed[iMod]);
	}
      }else if(statusInj1==1){
	iRescaledSpeed++;
	if(iMod<84)iRescaledSpeedL3++;
	else iRescaledSpeedL4++;
      }else{
	iAverSpeed++;
	if(iMod<84)iAverSpeedL3++;
	else iAverSpeedL4++;
      }
    }

    Int_t npt=gGoodInjVsRun->GetN();

    fracGoodInj=(Float_t)iGoodInj/(Float_t)totalgoodinj;
    fracGoodInjL3=(Float_t)iGoodInjL3/(Float_t)totalgoodinjL3;
    fracGoodInjL4=(Float_t)iGoodInjL4/(Float_t)totalgoodinjL4;

    fracRescaledSpeed   = (Float_t)iRescaledSpeed/(Float_t)totalgoodinj;
    fracRescaledSpeedL3 = (Float_t)iRescaledSpeedL3/(Float_t)totalgoodinjL3;
    fracRescaledSpeedL4 = (Float_t)iRescaledSpeedL3/(Float_t)totalgoodinjL4;

    fracAverSpeed   = (Float_t)iAverSpeed/(Float_t)totalgoodinj;
    fracAverSpeedL3 = (Float_t)iAverSpeedL3/(Float_t)totalgoodinjL3;
    fracAverSpeedL4 = (Float_t)iAverSpeedL4/(Float_t)totalgoodinjL4;

    gGoodInjVsRun->SetPoint(npt,(Float_t)nrun,iGoodInj);
    gRescaledSpeedVsRun->SetPoint(npt,(Float_t)nrun,iRescaledSpeed);
    gAverSpeedVsRun->SetPoint(npt,(Float_t)nrun,iAverSpeed);
	
    gGoodInjVsRunL3->SetPoint(npt,(Float_t)nrun,iGoodInjL3);
    gRescaledSpeedVsRunL3->SetPoint(npt,(Float_t)nrun,iRescaledSpeedL3);
    gAverSpeedVsRunL3->SetPoint(npt,(Float_t)nrun,iAverSpeedL3);

    gGoodInjVsRunL4->SetPoint(npt,(Float_t)nrun,iGoodInjL4);
    gRescaledSpeedVsRunL4->SetPoint(npt,(Float_t)nrun,iRescaledSpeedL4);
    gAverSpeedVsRunL4->SetPoint(npt,(Float_t)nrun,iAverSpeedL4);


    gFracGoodInjVsRun->SetPoint(npt,(Float_t)nrun,(Double_t)fracGoodInj);
    gFracRescaledSpeedVsRun->SetPoint(npt,(Float_t)nrun,(Double_t)fracRescaledSpeed);
    gFracAverSpeedVsRun->SetPoint(npt,(Float_t)nrun,(Double_t)fracAverSpeed);
	
    gFracGoodInjVsRunL3->SetPoint(npt,(Float_t)nrun,(Double_t)fracGoodInjL3);
    gFracRescaledSpeedVsRunL3->SetPoint(npt,(Float_t)nrun,(Double_t)fracRescaledSpeedL3);
    gFracAverSpeedVsRunL3->SetPoint(npt,(Float_t)nrun,(Double_t)fracAverSpeedL3);

    gFracGoodInjVsRunL4->SetPoint(npt,(Float_t)nrun,(Double_t)fracGoodInjL4);
    gFracRescaledSpeedVsRunL4->SetPoint(npt,(Float_t)nrun,(Double_t)fracRescaledSpeedL4);
    gFracAverSpeedVsRunL4->SetPoint(npt,(Float_t)nrun,(Double_t)fracAverSpeedL4);

    npt=gGoodInjVsTime->GetN();
    if(goodTime){
      gGoodInjVsTime->SetPoint(npt,timeday,iGoodInj);
      gRescaledSpeedVsTime->SetPoint(npt,timeday,iRescaledSpeed);
      gAverSpeedVsTime->SetPoint(npt,timeday,iAverSpeed);

      gGoodInjVsTimeL3->SetPoint(npt,timeday,iGoodInjL3);
      gRescaledSpeedVsTimeL3->SetPoint(npt,timeday,iRescaledSpeedL3);
      gAverSpeedVsTimeL3->SetPoint(npt,timeday,iAverSpeedL3);

      gGoodInjVsTimeL4->SetPoint(npt,timeday,iGoodInjL4);
      gRescaledSpeedVsTimeL4->SetPoint(npt,timeday,iRescaledSpeedL4);
      gAverSpeedVsTimeL4->SetPoint(npt,timeday,iAverSpeedL4);


      gFracGoodInjVsTime->SetPoint(npt,timeday,(Double_t)fracGoodInj);
      gFracRescaledSpeedVsTime->SetPoint(npt,timeday,(Double_t)fracRescaledSpeed);
      gFracAverSpeedVsTime->SetPoint(npt,timeday,(Double_t)fracAverSpeed);
      
      gFracGoodInjVsTimeL3->SetPoint(npt,timeday,(Double_t)fracGoodInjL3);
      gFracRescaledSpeedVsTimeL3->SetPoint(npt,timeday,(Double_t)fracRescaledSpeedL3);
      gFracAverSpeedVsTimeL3->SetPoint(npt,timeday,(Double_t)fracAverSpeedL3);
      
      gFracGoodInjVsTimeL4->SetPoint(npt,timeday,(Double_t)fracGoodInjL4);
      gFracRescaledSpeedVsTimeL4->SetPoint(npt,timeday,(Double_t)fracRescaledSpeedL4);
      gFracAverSpeedVsTimeL4->SetPoint(npt,timeday,(Double_t)fracAverSpeedL4);
    }

    printf("Number of half-modules with drift speed from injectors = %d\n",iGoodInj);
    printf("Number of half-modules with average drift speed        = %d\n",iAverSpeed);
    printf("Number of half-modules with drift speed from injectors L3     = %d\n",iGoodInjL3);
    printf("Number of half-modules with drift speed from golden module L3 = %d\n",iRescaledSpeedL3);
    printf("Number of half-modules with drift speed from injectors L4     = %d\n",iGoodInjL4);
    printf("Number of half-modules with drift speed from golden module L4 = %d\n",iRescaledSpeedL4);

    f->Close();
  }

  Char_t filout[100];
  sprintf(filout,"DriftSpVsTime_%d.root",year);
  TFile *ofil=new TFile(filout,"recreate");
  for(Int_t iHyb=0; iHyb<520;iHyb++){
    gvdrvstime[iHyb]->Write();
    gvdrvsrun[iHyb]->Write();
    gstatusinjvstime[iHyb]->Write();
    gstatusinjvsrun[iHyb]->Write();
  }
  gGoodInjVsRun->Write();
  gGoodInjVsRunL3->Write();
  gGoodInjVsRunL4->Write();
  gGoodInjVsTime->Write();
  gGoodInjVsTimeL3->Write();
  gGoodInjVsTimeL4->Write();
  gAverSpeedVsRun->Write();
  gAverSpeedVsRunL3->Write();
  gAverSpeedVsRunL4->Write();
  gAverSpeedVsTime->Write();
  gAverSpeedVsTimeL3->Write();
  gAverSpeedVsTimeL4->Write();
  gRescaledSpeedVsRun->Write();
  gRescaledSpeedVsRunL3->Write();
  gRescaledSpeedVsRunL4->Write();
  gRescaledSpeedVsTime->Write();
  gRescaledSpeedVsTimeL3->Write();
  gRescaledSpeedVsTimeL4->Write();
  ofil->Close();

  //  Int_t mod1=244-240;
  Int_t mod1 = 275-240;
  Int_t mod2=318-240;
  //  Int_t mod2=259-240;
//   Int_t mod2=274-240;
  Int_t mod3=413-240;
  //  Int_t mod4=453-240;
  Int_t mod4=480-240;
   //  Int_t mod4=497-240;
  Int_t lay1,lad1,det1;
  Int_t lay2,lad2,det2;
  Int_t lay3,lad3,det3;
  Int_t lay4,lad4,det4;
  AliITSgeomTGeo::GetModuleId(mod1+240,lay1,lad1,det1);
  AliITSgeomTGeo::GetModuleId(mod2+240,lay2,lad2,det2);
  AliITSgeomTGeo::GetModuleId(mod3+240,lay3,lad3,det3);
  AliITSgeomTGeo::GetModuleId(mod4+240,lay4,lad4,det4);

  gStyle->SetOptTitle(0);
  TCanvas* c0=new TCanvas("c0","Vdrift vs. time");
  c0->SetGridx();
  c0->SetGridy();
  gvdrvstime[2*mod1]->SetMarkerStyle(20);
  gvdrvstime[2*mod2]->SetMarkerStyle(22);
  gvdrvstime[2*mod2]->SetMarkerColor(2);
  gvdrvstime[2*mod2]->SetLineColor(2);
  gvdrvstime[2*mod3]->SetMarkerStyle(29);
  gvdrvstime[2*mod3]->SetMarkerColor(3);
  gvdrvstime[2*mod3]->SetLineColor(3);
  gvdrvstime[2*mod4]->SetMarkerStyle(27);
  gvdrvstime[2*mod4]->SetMarkerColor(4);
  gvdrvstime[2*mod4]->SetLineColor(4);
  gvdrvstime[2*mod1]->Draw("AP");
  gvdrvstime[2*mod1]->SetMinimum(6.3);
  gvdrvstime[2*mod1]->SetMaximum(6.75);
  Char_t title[100];
  if(year==2009){
    sprintf(title,"Time (days since July 16th 2009)");
  }else{
    sprintf(title,Form("Time (days since January 1st %d)",year));
  }
  gvdrvstime[2*mod1]->GetXaxis()->SetTitle(title);
  gvdrvstime[2*mod1]->GetYaxis()->SetTitle("Drift speed (#mum/ns)");
  gvdrvstime[2*mod2]->Draw("PSAME");
  gvdrvstime[2*mod3]->Draw("PSAME");
  gvdrvstime[2*mod4]->Draw("PSAME");
  TLegend* leg=new TLegend(0.6,0.7,0.89,0.89);
  leg->SetBorderSize(0);
  leg->SetFillColor(0);
  leg->SetFillStyle(0);
  TLegendEntry* lent=leg->AddEntry(gvdrvstime[2*mod1],Form("Lay %d Lad %d Det %d",lay1,lad1,det1),"P");
  lent=leg->AddEntry(gvdrvstime[2*mod2],Form("Lay %d Lad %d Det %d",lay2,lad2,det2),"P");
  lent->SetTextColor(2);
  lent=leg->AddEntry(gvdrvstime[2*mod3],Form("Lay %d Lad %d Det %d",lay3,lad3,det3),"P");
  lent->SetTextColor(3);
  lent=leg->AddEntry(gvdrvstime[2*mod4],Form("Lay %d Lad %d Det %d",lay4,lad4,det4),"P");
  lent->SetTextColor(4);
  leg->Draw();

  TCanvas* c0b=new TCanvas("c0b","StatusInj vs. time");
  c0->SetGridx();
  c0->SetGridy();
  gstatusinjvstime[2*mod1]->SetMarkerStyle(20);
  gstatusinjvstime[2*mod2]->SetMarkerStyle(22);
  gstatusinjvstime[2*mod2]->SetMarkerColor(2);
  gstatusinjvstime[2*mod2]->SetLineColor(2);
  gstatusinjvstime[2*mod3]->SetMarkerStyle(29);
  gstatusinjvstime[2*mod3]->SetMarkerColor(3);
  gstatusinjvstime[2*mod3]->SetLineColor(3);
  gstatusinjvstime[2*mod4]->SetMarkerStyle(27);
  gstatusinjvstime[2*mod4]->SetMarkerColor(4);
  gstatusinjvstime[2*mod4]->SetLineColor(4);
  gstatusinjvstime[2*mod1]->Draw("AP");
  gvdrvstime[2*mod1]->GetXaxis()->SetTitle(title);
  gvdrvstime[2*mod1]->GetYaxis()->SetTitle("Injector Status");
  gvdrvstime[2*mod2]->Draw("PSAME");
  gvdrvstime[2*mod3]->Draw("PSAME");
  gvdrvstime[2*mod4]->Draw("PSAME");
  leg->Draw();


  TCanvas* c1=new TCanvas("c1","Vdrift vs. run");
  c1->SetGridx();
  c1->SetGridy();
  gvdrvsrun[2*mod1]->SetMarkerStyle(20);
  gvdrvsrun[2*mod2]->SetMarkerStyle(22);
  gvdrvsrun[2*mod2]->SetMarkerColor(2);
  gvdrvsrun[2*mod2]->SetLineColor(2);
  gvdrvsrun[2*mod3]->SetMarkerStyle(29);
  gvdrvsrun[2*mod3]->SetMarkerColor(3);
  gvdrvsrun[2*mod3]->SetLineColor(3);
  gvdrvsrun[2*mod4]->SetMarkerStyle(27);
  gvdrvsrun[2*mod4]->SetMarkerColor(4);
  gvdrvsrun[2*mod4]->SetLineColor(4);
  gvdrvsrun[2*mod1]->Draw("AP");
  gvdrvsrun[2*mod1]->SetMinimum(6.3);
  gvdrvsrun[2*mod1]->SetMaximum(6.75);

  gvdrvsrun[2*mod1]->GetXaxis()->SetTitle("Run number");
  gvdrvsrun[2*mod1]->GetYaxis()->SetTitle("Drift speed (#mum/ns)");
  gvdrvsrun[2*mod2]->Draw("PSAME");
  gvdrvsrun[2*mod3]->Draw("PSAME");
  gvdrvsrun[2*mod4]->Draw("PSAME");
  leg->Draw();


  TH2F* hlay3=new TH2F("hlay3","Variation of the drift speed (%) Layer 3",6,-0.5,5.5,14,-0.5,13.5);
  hlay3->GetXaxis()->SetTitle("Detector");
  hlay3->GetYaxis()->SetTitle("Ladder");
  hlay3->GetXaxis()->SetTickLength(0);
  hlay3->GetYaxis()->SetTickLength(0);
  hlay3->SetStats(0);

  TH2F* hlay4=new TH2F("hlay4","Variation of the drift speed (%) Layer 4",8,-0.5,7.5,22,-0.5,21.5);
  hlay4->GetXaxis()->SetTitle("Detector");
  hlay4->GetYaxis()->SetTitle("Ladder");
  hlay4->GetXaxis()->SetTickLength(0);
  hlay4->GetYaxis()->SetTickLength(0);
  hlay4->GetYaxis()->SetTitle("Ladder");
  hlay4->SetStats(0);

  Double_t run1,run2,vdr1,vdr2;
  Int_t lay,lad,det;
  for(Int_t iMod=0; iMod<260; iMod++){
    Int_t lastPoint=gvdrvsrun[2*iMod]->GetN()-1;
    gvdrvsrun[2*iMod]->GetPoint(lastPoint,run2,vdr2);
    gvdrvsrun[2*iMod]->GetPoint(lastPoint-1,run1,vdr1);
    Float_t diff=0.;
    if(vdr1>0.) diff=100*(vdr2-vdr1)/vdr1;
    AliITSgeomTGeo::GetModuleId(iMod+240,lay,lad,det);
    if(lay==3) hlay3->SetBinContent(det,lad,diff);
    if(lay==4) hlay4->SetBinContent(det,lad,diff);
  }
  TLine* lin=new TLine(0,0,0,23);  
  gStyle->SetPalette(1);

  TCanvas *c0c=new TCanvas("c0c","Percent difference Last Run - Previous Run",900,600);
  c0c->Divide(2,1);
  c0c->cd(1);
  hlay3->DrawCopy("colz");
  for(Int_t i=0;i<6;i++){
    lin->SetY1(-0.5);
    lin->SetY2(13.5);
    lin->SetX1(i+0.5);
    lin->SetX2(i+0.5);
    lin->DrawClone();
  }
  for(Int_t i=0;i<14;i++){
    lin->SetX1(-0.5);
    lin->SetX2(5.5);
    lin->SetY1(i+0.5);
    lin->SetY2(i+0.5);
    lin->DrawClone();
  }
  c0c->cd(2);
  hlay4->DrawCopy("colz");
  for(Int_t i=0;i<8;i++){
    lin->SetY1(-0.5);
    lin->SetY2(21.5);
    lin->SetX1(i+0.5);
    lin->SetX2(i+0.5);
    lin->DrawClone();
  }
  for(Int_t i=0;i<22;i++){
    lin->SetX1(-0.5);
    lin->SetX2(7.5);
    lin->SetY1(i+0.5);
    lin->SetY2(i+0.5);
    lin->DrawClone();
  }

  TCanvas* c4=new TCanvas("c4","GoodMod vs. run");
  c4->SetGridx();
  c4->SetGridy();
  gGoodInjVsRun->SetMarkerStyle(20);
  gGoodInjVsRun->SetMinimum(0.);
  gGoodInjVsRun->SetMaximum(370.);
  gGoodInjVsRunL3->SetMarkerStyle(22);
  gGoodInjVsRunL3->SetMarkerColor(2);
  gGoodInjVsRunL3->SetLineColor(2);
  gGoodInjVsRunL4->SetMarkerStyle(23);
  gGoodInjVsRunL4->SetMarkerColor(4);
  gGoodInjVsRunL4->SetLineColor(4);
  gGoodInjVsRun->Draw("AP");
  gGoodInjVsRunL3->Draw("PSAME");
  gGoodInjVsRunL4->Draw("PSAME");
  gGoodInjVsRun->GetXaxis()->SetTitle("Run number");
  gGoodInjVsRun->GetYaxis()->SetTitle("Half-modules with drift speed from injectors");
  TLegend* leg2=new TLegend(0.6,0.3,0.89,0.5);
  leg2->SetBorderSize(0);
  leg2->SetFillColor(0);
  leg2->SetFillStyle(0);
  TLegendEntry* lent2=leg2->AddEntry(gGoodInjVsRun,"All","P");
  lent2->SetTextColor(1);
  lent2=leg2->AddEntry(gGoodInjVsRunL3,"Layer 3 ","P");
  lent2->SetTextColor(2);
  lent2=leg2->AddEntry(gGoodInjVsRunL4,"Layer 4","P");
  lent2->SetTextColor(4);
  leg2->Draw();


  TCanvas* c4bis=new TCanvas("c4bis"," Frac GoodMod vs. run");
  c4bis->SetGridx();
  c4bis->SetGridy();
  gFracGoodInjVsRun->SetMarkerStyle(20);
  gFracGoodInjVsRun->SetMinimum(0.);
  gFracGoodInjVsRun->SetMaximum(0.9);
  gFracGoodInjVsRunL3->SetMarkerStyle(22);
  gFracGoodInjVsRunL3->SetMarkerColor(2);
  gFracGoodInjVsRunL3->SetLineColor(2);
  gFracGoodInjVsRunL4->SetMarkerStyle(23);
  gFracGoodInjVsRunL4->SetMarkerColor(4);
  gFracGoodInjVsRunL4->SetLineColor(4);
  gFracGoodInjVsRun->Draw("AP");
  gFracGoodInjVsRunL3->Draw("PSAME");
  gFracGoodInjVsRunL4->Draw("PSAME");
  gFracGoodInjVsRun->GetXaxis()->SetTitle("Run number");
  gFracGoodInjVsRun->GetYaxis()->SetTitle("Fraction of Half-modules with drift speed from injectors");
  gFracGoodInjVsRun->GetYaxis()->SetTitleSize(0.03);
  gFracGoodInjVsRun->GetYaxis()->SetTitleOffset(1.5);
  leg2->Draw();
  
  TCanvas* c4ter=new TCanvas("c4ter","RescaledMod vs. run");
  c4ter->SetGridx();
  c4ter->SetGridy();
  gRescaledSpeedVsRun->SetMarkerStyle(20);
  gRescaledSpeedVsRun->SetMinimum(0.);
  gRescaledSpeedVsRun->SetMaximum(120.);
  gRescaledSpeedVsRunL3->SetMarkerStyle(22);
  gRescaledSpeedVsRunL3->SetMarkerColor(2);
  gRescaledSpeedVsRunL3->SetLineColor(2);
  gRescaledSpeedVsRunL4->SetMarkerStyle(23);
  gRescaledSpeedVsRunL4->SetMarkerColor(4);
  gRescaledSpeedVsRunL4->SetLineColor(4);
  gRescaledSpeedVsRun->Draw("AP");
  gRescaledSpeedVsRunL3->Draw("PSAME");
  gRescaledSpeedVsRunL4->Draw("PSAME");
  gRescaledSpeedVsRun->GetXaxis()->SetTitle("Run number");
  gRescaledSpeedVsRun->GetYaxis()->SetTitle("Half-modules with drift speed from golden module");
  leg2->Draw();

  TCanvas* c5=new TCanvas("c5","GoodMod vs. time");
  c5->SetGridx();
  c5->SetGridy();
  gGoodInjVsTime->SetMarkerStyle(20);
  gGoodInjVsTime->SetMinimum(0.);
  gGoodInjVsTime->SetMaximum(370.);
  gGoodInjVsTimeL3->SetMarkerStyle(22);
  gGoodInjVsTimeL3->SetMarkerColor(2);
  gGoodInjVsTimeL3->SetLineColor(2);
  gGoodInjVsTimeL4->SetMarkerStyle(23);
  gGoodInjVsTimeL4->SetMarkerColor(4);
  gGoodInjVsTimeL4->SetLineColor(4);
  gGoodInjVsTime->Draw("AP");
  gGoodInjVsTimeL3->Draw("PSAME");
  gGoodInjVsTimeL4->Draw("PSAME");
  gGoodInjVsTime->GetXaxis()->SetTitle(title);
  gGoodInjVsTime->GetYaxis()->SetTitle("Half-modules with drift speed from injectors");
  leg2->Draw();
  
  TCanvas* c5bis=new TCanvas("c5bis","Frac GoodMod vs. time");
  c5bis->SetGridx();
  c5bis->SetGridy();
  gFracGoodInjVsTime->SetMarkerStyle(20);
  gFracGoodInjVsTime->SetMinimum(0.);
  gFracGoodInjVsTime->SetMaximum(0.9);
  gFracGoodInjVsTimeL3->SetMarkerStyle(22);
  gFracGoodInjVsTimeL3->SetMarkerColor(2);
  gFracGoodInjVsTimeL3->SetLineColor(2);
  gFracGoodInjVsTimeL4->SetMarkerStyle(23);
  gFracGoodInjVsTimeL4->SetMarkerColor(4);
  gFracGoodInjVsTimeL4->SetLineColor(4);
  gFracGoodInjVsTime->Draw("AP");
  gFracGoodInjVsTimeL3->Draw("PSAME");
  gFracGoodInjVsTimeL4->Draw("PSAME");
  gFracGoodInjVsTime->GetXaxis()->SetTitle(title);
  gFracGoodInjVsTime->GetYaxis()->SetTitleSize(0.03);
  gFracGoodInjVsTime->GetYaxis()->SetTitleOffset(1.5);
  gFracGoodInjVsTime->GetYaxis()->SetTitle("Fraction of Half-modules with drift speed from injectors");
  leg2->Draw();

  TCanvas* c5ter=new TCanvas("c5ter","RescaledMod vs. time");
  c5ter->SetGridx();
  c5ter->SetGridy();
  gRescaledSpeedVsTime->SetMarkerStyle(20);
  gRescaledSpeedVsTime->SetMinimum(0.);
  gRescaledSpeedVsTime->SetMaximum(120.);
  gRescaledSpeedVsTimeL3->SetMarkerStyle(22);
  gRescaledSpeedVsTimeL3->SetMarkerColor(2);
  gRescaledSpeedVsTimeL3->SetLineColor(2);
  gRescaledSpeedVsTimeL4->SetMarkerStyle(23);
  gRescaledSpeedVsTimeL4->SetMarkerColor(4);
  gRescaledSpeedVsTimeL4->SetLineColor(4);
  gRescaledSpeedVsTime->Draw("AP");
  gRescaledSpeedVsTimeL3->Draw("PSAME");
  gRescaledSpeedVsTimeL4->Draw("PSAME");
  gRescaledSpeedVsTime->GetXaxis()->SetTitle(title);
  gRescaledSpeedVsTime->GetYaxis()->SetTitleSize(0.03);
  gRescaledSpeedVsTime->GetYaxis()->SetTitleOffset(1.5);
  gRescaledSpeedVsTime->GetYaxis()->SetTitle("Half-modules with drift speed from golden module");
  leg2->Draw();
}

void FillErrors(Float_t errSpeed[260]){
  Float_t err[260]={
    0.002308,0.005120,0.004632,0.001000,0.001735,
    0.001000,0.001000,0.002667,0.004237,0.005297,
    0.001000,0.005460,0.005149,0.003921,0.001000,
    0.003906,0.001000,0.004871,0.001000,0.001000,
    0.001000,0.001000,0.002261,0.002986,0.002056,
    0.002848,0.001000,0.001777,0.002822,0.004651,
    0.001000,0.003551,0.006466,0.001000,0.002083,
    0.004531,0.001000,0.002213,0.001000,0.001000,
    0.001000,0.001000,0.001000,0.003223,0.002800,
    0.002147,0.001000,0.003364,0.001000,0.001000,
    0.002515,0.003229,0.002552,0.005765,0.002368,
    0.003473,0.002363,0.001000,0.003413,0.001000,
    0.004906,0.001000,0.004346,0.004887,0.007138,
    0.007242,0.004289,0.003970,0.002914,0.002199,
    0.001000,0.003483,0.002154,0.002914,0.003097,
    0.006034,0.003101,0.001000,0.002425,0.002651,
    0.002771,0.002409,0.002260,0.003109,0.001000,
    0.003384,0.003374,0.002212,0.004441,0.001000,
    0.001000,0.001000,0.003578,0.001000,0.001000,
    0.003517,0.003590,0.001787,0.003329,0.001000,
    0.002770,0.001000,0.004032,0.003059,0.001000,
    0.001000,0.001000,0.001000,0.001000,0.001000,
    0.001000,0.004556,0.001000,0.001000,0.001000,
    0.001000,0.001000,0.001000,0.004819,0.002100,
    0.002624,0.003784,0.003772,0.002483,0.002792,
    0.001000,0.004713,0.003214,0.003180,0.002145,
    0.002470,0.003078,0.001000,0.007131,0.002770,
    0.002533,0.001000,0.004362,0.002819,0.001000,
    0.003630,0.004215,0.002975,0.001000,0.003790,
    0.002345,0.001000,0.003999,0.004555,0.003989,
    0.001000,0.001000,0.001000,0.003136,0.002426,
    0.005144,0.002844,0.002310,0.002467,0.002503,
    0.003811,0.003440,0.004773,0.003114,0.001000,
    0.000583,0.001000,0.001000,0.003385,0.001000,
    0.001000,0.001000,0.001000,0.003108,0.002109,
    0.005325,0.003750,0.002810,0.003559,0.001000,
    0.001000,0.003262,0.003903,0.001000,0.003622,
    0.002533,0.002121,0.003733,0.005353,0.002221,
    0.004767,0.003267,0.004892,0.002152,0.003398,
    0.001000,0.003146,0.001000,0.002952,0.003310,
    0.002644,0.002573,0.001000,0.003989,0.001000,
    0.005294,0.003095,0.003479,0.002250,0.001000,
    0.001000,0.005221,0.001000,0.001653,0.004330,
    0.013188,0.007375,0.003226,0.003875,0.001000,
    0.003653,0.001000,0.002655,0.001000,0.001000,
    0.001000,0.001000,0.004718,0.001000,0.001000,
    0.001000,0.002780,0.003680,0.001000,0.002787,
    0.001000,0.004617,0.001000,0.001000,0.003231,
    0.001887,0.002090,0.003326,0.129970,0.004907,
    0.004334,0.001000,0.001000,0.003489,0.002573,
    0.002566,0.002982,0.001000,0.001000,0.003436,
    0.004016,0.003736,0.001784,0.004775,0.008090};
  for(Int_t i=0;i<260;i++) errSpeed[i]=err[i];
  
  
}
 PlotDriftSpeedSDDVsTime.C:1
 PlotDriftSpeedSDDVsTime.C:2
 PlotDriftSpeedSDDVsTime.C:3
 PlotDriftSpeedSDDVsTime.C:4
 PlotDriftSpeedSDDVsTime.C:5
 PlotDriftSpeedSDDVsTime.C:6
 PlotDriftSpeedSDDVsTime.C:7
 PlotDriftSpeedSDDVsTime.C:8
 PlotDriftSpeedSDDVsTime.C:9
 PlotDriftSpeedSDDVsTime.C:10
 PlotDriftSpeedSDDVsTime.C:11
 PlotDriftSpeedSDDVsTime.C:12
 PlotDriftSpeedSDDVsTime.C:13
 PlotDriftSpeedSDDVsTime.C:14
 PlotDriftSpeedSDDVsTime.C:15
 PlotDriftSpeedSDDVsTime.C:16
 PlotDriftSpeedSDDVsTime.C:17
 PlotDriftSpeedSDDVsTime.C:18
 PlotDriftSpeedSDDVsTime.C:19
 PlotDriftSpeedSDDVsTime.C:20
 PlotDriftSpeedSDDVsTime.C:21
 PlotDriftSpeedSDDVsTime.C:22
 PlotDriftSpeedSDDVsTime.C:23
 PlotDriftSpeedSDDVsTime.C:24
 PlotDriftSpeedSDDVsTime.C:25
 PlotDriftSpeedSDDVsTime.C:26
 PlotDriftSpeedSDDVsTime.C:27
 PlotDriftSpeedSDDVsTime.C:28
 PlotDriftSpeedSDDVsTime.C:29
 PlotDriftSpeedSDDVsTime.C:30
 PlotDriftSpeedSDDVsTime.C:31
 PlotDriftSpeedSDDVsTime.C:32
 PlotDriftSpeedSDDVsTime.C:33
 PlotDriftSpeedSDDVsTime.C:34
 PlotDriftSpeedSDDVsTime.C:35
 PlotDriftSpeedSDDVsTime.C:36
 PlotDriftSpeedSDDVsTime.C:37
 PlotDriftSpeedSDDVsTime.C:38
 PlotDriftSpeedSDDVsTime.C:39
 PlotDriftSpeedSDDVsTime.C:40
 PlotDriftSpeedSDDVsTime.C:41
 PlotDriftSpeedSDDVsTime.C:42
 PlotDriftSpeedSDDVsTime.C:43
 PlotDriftSpeedSDDVsTime.C:44
 PlotDriftSpeedSDDVsTime.C:45
 PlotDriftSpeedSDDVsTime.C:46
 PlotDriftSpeedSDDVsTime.C:47
 PlotDriftSpeedSDDVsTime.C:48
 PlotDriftSpeedSDDVsTime.C:49
 PlotDriftSpeedSDDVsTime.C:50
 PlotDriftSpeedSDDVsTime.C:51
 PlotDriftSpeedSDDVsTime.C:52
 PlotDriftSpeedSDDVsTime.C:53
 PlotDriftSpeedSDDVsTime.C:54
 PlotDriftSpeedSDDVsTime.C:55
 PlotDriftSpeedSDDVsTime.C:56
 PlotDriftSpeedSDDVsTime.C:57
 PlotDriftSpeedSDDVsTime.C:58
 PlotDriftSpeedSDDVsTime.C:59
 PlotDriftSpeedSDDVsTime.C:60
 PlotDriftSpeedSDDVsTime.C:61
 PlotDriftSpeedSDDVsTime.C:62
 PlotDriftSpeedSDDVsTime.C:63
 PlotDriftSpeedSDDVsTime.C:64
 PlotDriftSpeedSDDVsTime.C:65
 PlotDriftSpeedSDDVsTime.C:66
 PlotDriftSpeedSDDVsTime.C:67
 PlotDriftSpeedSDDVsTime.C:68
 PlotDriftSpeedSDDVsTime.C:69
 PlotDriftSpeedSDDVsTime.C:70
 PlotDriftSpeedSDDVsTime.C:71
 PlotDriftSpeedSDDVsTime.C:72
 PlotDriftSpeedSDDVsTime.C:73
 PlotDriftSpeedSDDVsTime.C:74
 PlotDriftSpeedSDDVsTime.C:75
 PlotDriftSpeedSDDVsTime.C:76
 PlotDriftSpeedSDDVsTime.C:77
 PlotDriftSpeedSDDVsTime.C:78
 PlotDriftSpeedSDDVsTime.C:79
 PlotDriftSpeedSDDVsTime.C:80
 PlotDriftSpeedSDDVsTime.C:81
 PlotDriftSpeedSDDVsTime.C:82
 PlotDriftSpeedSDDVsTime.C:83
 PlotDriftSpeedSDDVsTime.C:84
 PlotDriftSpeedSDDVsTime.C:85
 PlotDriftSpeedSDDVsTime.C:86
 PlotDriftSpeedSDDVsTime.C:87
 PlotDriftSpeedSDDVsTime.C:88
 PlotDriftSpeedSDDVsTime.C:89
 PlotDriftSpeedSDDVsTime.C:90
 PlotDriftSpeedSDDVsTime.C:91
 PlotDriftSpeedSDDVsTime.C:92
 PlotDriftSpeedSDDVsTime.C:93
 PlotDriftSpeedSDDVsTime.C:94
 PlotDriftSpeedSDDVsTime.C:95
 PlotDriftSpeedSDDVsTime.C:96
 PlotDriftSpeedSDDVsTime.C:97
 PlotDriftSpeedSDDVsTime.C:98
 PlotDriftSpeedSDDVsTime.C:99
 PlotDriftSpeedSDDVsTime.C:100
 PlotDriftSpeedSDDVsTime.C:101
 PlotDriftSpeedSDDVsTime.C:102
 PlotDriftSpeedSDDVsTime.C:103
 PlotDriftSpeedSDDVsTime.C:104
 PlotDriftSpeedSDDVsTime.C:105
 PlotDriftSpeedSDDVsTime.C:106
 PlotDriftSpeedSDDVsTime.C:107
 PlotDriftSpeedSDDVsTime.C:108
 PlotDriftSpeedSDDVsTime.C:109
 PlotDriftSpeedSDDVsTime.C:110
 PlotDriftSpeedSDDVsTime.C:111
 PlotDriftSpeedSDDVsTime.C:112
 PlotDriftSpeedSDDVsTime.C:113
 PlotDriftSpeedSDDVsTime.C:114
 PlotDriftSpeedSDDVsTime.C:115
 PlotDriftSpeedSDDVsTime.C:116
 PlotDriftSpeedSDDVsTime.C:117
 PlotDriftSpeedSDDVsTime.C:118
 PlotDriftSpeedSDDVsTime.C:119
 PlotDriftSpeedSDDVsTime.C:120
 PlotDriftSpeedSDDVsTime.C:121
 PlotDriftSpeedSDDVsTime.C:122
 PlotDriftSpeedSDDVsTime.C:123
 PlotDriftSpeedSDDVsTime.C:124
 PlotDriftSpeedSDDVsTime.C:125
 PlotDriftSpeedSDDVsTime.C:126
 PlotDriftSpeedSDDVsTime.C:127
 PlotDriftSpeedSDDVsTime.C:128
 PlotDriftSpeedSDDVsTime.C:129
 PlotDriftSpeedSDDVsTime.C:130
 PlotDriftSpeedSDDVsTime.C:131
 PlotDriftSpeedSDDVsTime.C:132
 PlotDriftSpeedSDDVsTime.C:133
 PlotDriftSpeedSDDVsTime.C:134
 PlotDriftSpeedSDDVsTime.C:135
 PlotDriftSpeedSDDVsTime.C:136
 PlotDriftSpeedSDDVsTime.C:137
 PlotDriftSpeedSDDVsTime.C:138
 PlotDriftSpeedSDDVsTime.C:139
 PlotDriftSpeedSDDVsTime.C:140
 PlotDriftSpeedSDDVsTime.C:141
 PlotDriftSpeedSDDVsTime.C:142
 PlotDriftSpeedSDDVsTime.C:143
 PlotDriftSpeedSDDVsTime.C:144
 PlotDriftSpeedSDDVsTime.C:145
 PlotDriftSpeedSDDVsTime.C:146
 PlotDriftSpeedSDDVsTime.C:147
 PlotDriftSpeedSDDVsTime.C:148
 PlotDriftSpeedSDDVsTime.C:149
 PlotDriftSpeedSDDVsTime.C:150
 PlotDriftSpeedSDDVsTime.C:151
 PlotDriftSpeedSDDVsTime.C:152
 PlotDriftSpeedSDDVsTime.C:153
 PlotDriftSpeedSDDVsTime.C:154
 PlotDriftSpeedSDDVsTime.C:155
 PlotDriftSpeedSDDVsTime.C:156
 PlotDriftSpeedSDDVsTime.C:157
 PlotDriftSpeedSDDVsTime.C:158
 PlotDriftSpeedSDDVsTime.C:159
 PlotDriftSpeedSDDVsTime.C:160
 PlotDriftSpeedSDDVsTime.C:161
 PlotDriftSpeedSDDVsTime.C:162
 PlotDriftSpeedSDDVsTime.C:163
 PlotDriftSpeedSDDVsTime.C:164
 PlotDriftSpeedSDDVsTime.C:165
 PlotDriftSpeedSDDVsTime.C:166
 PlotDriftSpeedSDDVsTime.C:167
 PlotDriftSpeedSDDVsTime.C:168
 PlotDriftSpeedSDDVsTime.C:169
 PlotDriftSpeedSDDVsTime.C:170
 PlotDriftSpeedSDDVsTime.C:171
 PlotDriftSpeedSDDVsTime.C:172
 PlotDriftSpeedSDDVsTime.C:173
 PlotDriftSpeedSDDVsTime.C:174
 PlotDriftSpeedSDDVsTime.C:175
 PlotDriftSpeedSDDVsTime.C:176
 PlotDriftSpeedSDDVsTime.C:177
 PlotDriftSpeedSDDVsTime.C:178
 PlotDriftSpeedSDDVsTime.C:179
 PlotDriftSpeedSDDVsTime.C:180
 PlotDriftSpeedSDDVsTime.C:181
 PlotDriftSpeedSDDVsTime.C:182
 PlotDriftSpeedSDDVsTime.C:183
 PlotDriftSpeedSDDVsTime.C:184
 PlotDriftSpeedSDDVsTime.C:185
 PlotDriftSpeedSDDVsTime.C:186
 PlotDriftSpeedSDDVsTime.C:187
 PlotDriftSpeedSDDVsTime.C:188
 PlotDriftSpeedSDDVsTime.C:189
 PlotDriftSpeedSDDVsTime.C:190
 PlotDriftSpeedSDDVsTime.C:191
 PlotDriftSpeedSDDVsTime.C:192
 PlotDriftSpeedSDDVsTime.C:193
 PlotDriftSpeedSDDVsTime.C:194
 PlotDriftSpeedSDDVsTime.C:195
 PlotDriftSpeedSDDVsTime.C:196
 PlotDriftSpeedSDDVsTime.C:197
 PlotDriftSpeedSDDVsTime.C:198
 PlotDriftSpeedSDDVsTime.C:199
 PlotDriftSpeedSDDVsTime.C:200
 PlotDriftSpeedSDDVsTime.C:201
 PlotDriftSpeedSDDVsTime.C:202
 PlotDriftSpeedSDDVsTime.C:203
 PlotDriftSpeedSDDVsTime.C:204
 PlotDriftSpeedSDDVsTime.C:205
 PlotDriftSpeedSDDVsTime.C:206
 PlotDriftSpeedSDDVsTime.C:207
 PlotDriftSpeedSDDVsTime.C:208
 PlotDriftSpeedSDDVsTime.C:209
 PlotDriftSpeedSDDVsTime.C:210
 PlotDriftSpeedSDDVsTime.C:211
 PlotDriftSpeedSDDVsTime.C:212
 PlotDriftSpeedSDDVsTime.C:213
 PlotDriftSpeedSDDVsTime.C:214
 PlotDriftSpeedSDDVsTime.C:215
 PlotDriftSpeedSDDVsTime.C:216
 PlotDriftSpeedSDDVsTime.C:217
 PlotDriftSpeedSDDVsTime.C:218
 PlotDriftSpeedSDDVsTime.C:219
 PlotDriftSpeedSDDVsTime.C:220
 PlotDriftSpeedSDDVsTime.C:221
 PlotDriftSpeedSDDVsTime.C:222
 PlotDriftSpeedSDDVsTime.C:223
 PlotDriftSpeedSDDVsTime.C:224
 PlotDriftSpeedSDDVsTime.C:225
 PlotDriftSpeedSDDVsTime.C:226
 PlotDriftSpeedSDDVsTime.C:227
 PlotDriftSpeedSDDVsTime.C:228
 PlotDriftSpeedSDDVsTime.C:229
 PlotDriftSpeedSDDVsTime.C:230
 PlotDriftSpeedSDDVsTime.C:231
 PlotDriftSpeedSDDVsTime.C:232
 PlotDriftSpeedSDDVsTime.C:233
 PlotDriftSpeedSDDVsTime.C:234
 PlotDriftSpeedSDDVsTime.C:235
 PlotDriftSpeedSDDVsTime.C:236
 PlotDriftSpeedSDDVsTime.C:237
 PlotDriftSpeedSDDVsTime.C:238
 PlotDriftSpeedSDDVsTime.C:239
 PlotDriftSpeedSDDVsTime.C:240
 PlotDriftSpeedSDDVsTime.C:241
 PlotDriftSpeedSDDVsTime.C:242
 PlotDriftSpeedSDDVsTime.C:243
 PlotDriftSpeedSDDVsTime.C:244
 PlotDriftSpeedSDDVsTime.C:245
 PlotDriftSpeedSDDVsTime.C:246
 PlotDriftSpeedSDDVsTime.C:247
 PlotDriftSpeedSDDVsTime.C:248
 PlotDriftSpeedSDDVsTime.C:249
 PlotDriftSpeedSDDVsTime.C:250
 PlotDriftSpeedSDDVsTime.C:251
 PlotDriftSpeedSDDVsTime.C:252
 PlotDriftSpeedSDDVsTime.C:253
 PlotDriftSpeedSDDVsTime.C:254
 PlotDriftSpeedSDDVsTime.C:255
 PlotDriftSpeedSDDVsTime.C:256
 PlotDriftSpeedSDDVsTime.C:257
 PlotDriftSpeedSDDVsTime.C:258
 PlotDriftSpeedSDDVsTime.C:259
 PlotDriftSpeedSDDVsTime.C:260
 PlotDriftSpeedSDDVsTime.C:261
 PlotDriftSpeedSDDVsTime.C:262
 PlotDriftSpeedSDDVsTime.C:263
 PlotDriftSpeedSDDVsTime.C:264
 PlotDriftSpeedSDDVsTime.C:265
 PlotDriftSpeedSDDVsTime.C:266
 PlotDriftSpeedSDDVsTime.C:267
 PlotDriftSpeedSDDVsTime.C:268
 PlotDriftSpeedSDDVsTime.C:269
 PlotDriftSpeedSDDVsTime.C:270
 PlotDriftSpeedSDDVsTime.C:271
 PlotDriftSpeedSDDVsTime.C:272
 PlotDriftSpeedSDDVsTime.C:273
 PlotDriftSpeedSDDVsTime.C:274
 PlotDriftSpeedSDDVsTime.C:275
 PlotDriftSpeedSDDVsTime.C:276
 PlotDriftSpeedSDDVsTime.C:277
 PlotDriftSpeedSDDVsTime.C:278
 PlotDriftSpeedSDDVsTime.C:279
 PlotDriftSpeedSDDVsTime.C:280
 PlotDriftSpeedSDDVsTime.C:281
 PlotDriftSpeedSDDVsTime.C:282
 PlotDriftSpeedSDDVsTime.C:283
 PlotDriftSpeedSDDVsTime.C:284
 PlotDriftSpeedSDDVsTime.C:285
 PlotDriftSpeedSDDVsTime.C:286
 PlotDriftSpeedSDDVsTime.C:287
 PlotDriftSpeedSDDVsTime.C:288
 PlotDriftSpeedSDDVsTime.C:289
 PlotDriftSpeedSDDVsTime.C:290
 PlotDriftSpeedSDDVsTime.C:291
 PlotDriftSpeedSDDVsTime.C:292
 PlotDriftSpeedSDDVsTime.C:293
 PlotDriftSpeedSDDVsTime.C:294
 PlotDriftSpeedSDDVsTime.C:295
 PlotDriftSpeedSDDVsTime.C:296
 PlotDriftSpeedSDDVsTime.C:297
 PlotDriftSpeedSDDVsTime.C:298
 PlotDriftSpeedSDDVsTime.C:299
 PlotDriftSpeedSDDVsTime.C:300
 PlotDriftSpeedSDDVsTime.C:301
 PlotDriftSpeedSDDVsTime.C:302
 PlotDriftSpeedSDDVsTime.C:303
 PlotDriftSpeedSDDVsTime.C:304
 PlotDriftSpeedSDDVsTime.C:305
 PlotDriftSpeedSDDVsTime.C:306
 PlotDriftSpeedSDDVsTime.C:307
 PlotDriftSpeedSDDVsTime.C:308
 PlotDriftSpeedSDDVsTime.C:309
 PlotDriftSpeedSDDVsTime.C:310
 PlotDriftSpeedSDDVsTime.C:311
 PlotDriftSpeedSDDVsTime.C:312
 PlotDriftSpeedSDDVsTime.C:313
 PlotDriftSpeedSDDVsTime.C:314
 PlotDriftSpeedSDDVsTime.C:315
 PlotDriftSpeedSDDVsTime.C:316
 PlotDriftSpeedSDDVsTime.C:317
 PlotDriftSpeedSDDVsTime.C:318
 PlotDriftSpeedSDDVsTime.C:319
 PlotDriftSpeedSDDVsTime.C:320
 PlotDriftSpeedSDDVsTime.C:321
 PlotDriftSpeedSDDVsTime.C:322
 PlotDriftSpeedSDDVsTime.C:323
 PlotDriftSpeedSDDVsTime.C:324
 PlotDriftSpeedSDDVsTime.C:325
 PlotDriftSpeedSDDVsTime.C:326
 PlotDriftSpeedSDDVsTime.C:327
 PlotDriftSpeedSDDVsTime.C:328
 PlotDriftSpeedSDDVsTime.C:329
 PlotDriftSpeedSDDVsTime.C:330
 PlotDriftSpeedSDDVsTime.C:331
 PlotDriftSpeedSDDVsTime.C:332
 PlotDriftSpeedSDDVsTime.C:333
 PlotDriftSpeedSDDVsTime.C:334
 PlotDriftSpeedSDDVsTime.C:335
 PlotDriftSpeedSDDVsTime.C:336
 PlotDriftSpeedSDDVsTime.C:337
 PlotDriftSpeedSDDVsTime.C:338
 PlotDriftSpeedSDDVsTime.C:339
 PlotDriftSpeedSDDVsTime.C:340
 PlotDriftSpeedSDDVsTime.C:341
 PlotDriftSpeedSDDVsTime.C:342
 PlotDriftSpeedSDDVsTime.C:343
 PlotDriftSpeedSDDVsTime.C:344
 PlotDriftSpeedSDDVsTime.C:345
 PlotDriftSpeedSDDVsTime.C:346
 PlotDriftSpeedSDDVsTime.C:347
 PlotDriftSpeedSDDVsTime.C:348
 PlotDriftSpeedSDDVsTime.C:349
 PlotDriftSpeedSDDVsTime.C:350
 PlotDriftSpeedSDDVsTime.C:351
 PlotDriftSpeedSDDVsTime.C:352
 PlotDriftSpeedSDDVsTime.C:353
 PlotDriftSpeedSDDVsTime.C:354
 PlotDriftSpeedSDDVsTime.C:355
 PlotDriftSpeedSDDVsTime.C:356
 PlotDriftSpeedSDDVsTime.C:357
 PlotDriftSpeedSDDVsTime.C:358
 PlotDriftSpeedSDDVsTime.C:359
 PlotDriftSpeedSDDVsTime.C:360
 PlotDriftSpeedSDDVsTime.C:361
 PlotDriftSpeedSDDVsTime.C:362
 PlotDriftSpeedSDDVsTime.C:363
 PlotDriftSpeedSDDVsTime.C:364
 PlotDriftSpeedSDDVsTime.C:365
 PlotDriftSpeedSDDVsTime.C:366
 PlotDriftSpeedSDDVsTime.C:367
 PlotDriftSpeedSDDVsTime.C:368
 PlotDriftSpeedSDDVsTime.C:369
 PlotDriftSpeedSDDVsTime.C:370
 PlotDriftSpeedSDDVsTime.C:371
 PlotDriftSpeedSDDVsTime.C:372
 PlotDriftSpeedSDDVsTime.C:373
 PlotDriftSpeedSDDVsTime.C:374
 PlotDriftSpeedSDDVsTime.C:375
 PlotDriftSpeedSDDVsTime.C:376
 PlotDriftSpeedSDDVsTime.C:377
 PlotDriftSpeedSDDVsTime.C:378
 PlotDriftSpeedSDDVsTime.C:379
 PlotDriftSpeedSDDVsTime.C:380
 PlotDriftSpeedSDDVsTime.C:381
 PlotDriftSpeedSDDVsTime.C:382
 PlotDriftSpeedSDDVsTime.C:383
 PlotDriftSpeedSDDVsTime.C:384
 PlotDriftSpeedSDDVsTime.C:385
 PlotDriftSpeedSDDVsTime.C:386
 PlotDriftSpeedSDDVsTime.C:387
 PlotDriftSpeedSDDVsTime.C:388
 PlotDriftSpeedSDDVsTime.C:389
 PlotDriftSpeedSDDVsTime.C:390
 PlotDriftSpeedSDDVsTime.C:391
 PlotDriftSpeedSDDVsTime.C:392
 PlotDriftSpeedSDDVsTime.C:393
 PlotDriftSpeedSDDVsTime.C:394
 PlotDriftSpeedSDDVsTime.C:395
 PlotDriftSpeedSDDVsTime.C:396
 PlotDriftSpeedSDDVsTime.C:397
 PlotDriftSpeedSDDVsTime.C:398
 PlotDriftSpeedSDDVsTime.C:399
 PlotDriftSpeedSDDVsTime.C:400
 PlotDriftSpeedSDDVsTime.C:401
 PlotDriftSpeedSDDVsTime.C:402
 PlotDriftSpeedSDDVsTime.C:403
 PlotDriftSpeedSDDVsTime.C:404
 PlotDriftSpeedSDDVsTime.C:405
 PlotDriftSpeedSDDVsTime.C:406
 PlotDriftSpeedSDDVsTime.C:407
 PlotDriftSpeedSDDVsTime.C:408
 PlotDriftSpeedSDDVsTime.C:409
 PlotDriftSpeedSDDVsTime.C:410
 PlotDriftSpeedSDDVsTime.C:411
 PlotDriftSpeedSDDVsTime.C:412
 PlotDriftSpeedSDDVsTime.C:413
 PlotDriftSpeedSDDVsTime.C:414
 PlotDriftSpeedSDDVsTime.C:415
 PlotDriftSpeedSDDVsTime.C:416
 PlotDriftSpeedSDDVsTime.C:417
 PlotDriftSpeedSDDVsTime.C:418
 PlotDriftSpeedSDDVsTime.C:419
 PlotDriftSpeedSDDVsTime.C:420
 PlotDriftSpeedSDDVsTime.C:421
 PlotDriftSpeedSDDVsTime.C:422
 PlotDriftSpeedSDDVsTime.C:423
 PlotDriftSpeedSDDVsTime.C:424
 PlotDriftSpeedSDDVsTime.C:425
 PlotDriftSpeedSDDVsTime.C:426
 PlotDriftSpeedSDDVsTime.C:427
 PlotDriftSpeedSDDVsTime.C:428
 PlotDriftSpeedSDDVsTime.C:429
 PlotDriftSpeedSDDVsTime.C:430
 PlotDriftSpeedSDDVsTime.C:431
 PlotDriftSpeedSDDVsTime.C:432
 PlotDriftSpeedSDDVsTime.C:433
 PlotDriftSpeedSDDVsTime.C:434
 PlotDriftSpeedSDDVsTime.C:435
 PlotDriftSpeedSDDVsTime.C:436
 PlotDriftSpeedSDDVsTime.C:437
 PlotDriftSpeedSDDVsTime.C:438
 PlotDriftSpeedSDDVsTime.C:439
 PlotDriftSpeedSDDVsTime.C:440
 PlotDriftSpeedSDDVsTime.C:441
 PlotDriftSpeedSDDVsTime.C:442
 PlotDriftSpeedSDDVsTime.C:443
 PlotDriftSpeedSDDVsTime.C:444
 PlotDriftSpeedSDDVsTime.C:445
 PlotDriftSpeedSDDVsTime.C:446
 PlotDriftSpeedSDDVsTime.C:447
 PlotDriftSpeedSDDVsTime.C:448
 PlotDriftSpeedSDDVsTime.C:449
 PlotDriftSpeedSDDVsTime.C:450
 PlotDriftSpeedSDDVsTime.C:451
 PlotDriftSpeedSDDVsTime.C:452
 PlotDriftSpeedSDDVsTime.C:453
 PlotDriftSpeedSDDVsTime.C:454
 PlotDriftSpeedSDDVsTime.C:455
 PlotDriftSpeedSDDVsTime.C:456
 PlotDriftSpeedSDDVsTime.C:457
 PlotDriftSpeedSDDVsTime.C:458
 PlotDriftSpeedSDDVsTime.C:459
 PlotDriftSpeedSDDVsTime.C:460
 PlotDriftSpeedSDDVsTime.C:461
 PlotDriftSpeedSDDVsTime.C:462
 PlotDriftSpeedSDDVsTime.C:463
 PlotDriftSpeedSDDVsTime.C:464
 PlotDriftSpeedSDDVsTime.C:465
 PlotDriftSpeedSDDVsTime.C:466
 PlotDriftSpeedSDDVsTime.C:467
 PlotDriftSpeedSDDVsTime.C:468
 PlotDriftSpeedSDDVsTime.C:469
 PlotDriftSpeedSDDVsTime.C:470
 PlotDriftSpeedSDDVsTime.C:471
 PlotDriftSpeedSDDVsTime.C:472
 PlotDriftSpeedSDDVsTime.C:473
 PlotDriftSpeedSDDVsTime.C:474
 PlotDriftSpeedSDDVsTime.C:475
 PlotDriftSpeedSDDVsTime.C:476
 PlotDriftSpeedSDDVsTime.C:477
 PlotDriftSpeedSDDVsTime.C:478
 PlotDriftSpeedSDDVsTime.C:479
 PlotDriftSpeedSDDVsTime.C:480
 PlotDriftSpeedSDDVsTime.C:481
 PlotDriftSpeedSDDVsTime.C:482
 PlotDriftSpeedSDDVsTime.C:483
 PlotDriftSpeedSDDVsTime.C:484
 PlotDriftSpeedSDDVsTime.C:485
 PlotDriftSpeedSDDVsTime.C:486
 PlotDriftSpeedSDDVsTime.C:487
 PlotDriftSpeedSDDVsTime.C:488
 PlotDriftSpeedSDDVsTime.C:489
 PlotDriftSpeedSDDVsTime.C:490
 PlotDriftSpeedSDDVsTime.C:491
 PlotDriftSpeedSDDVsTime.C:492
 PlotDriftSpeedSDDVsTime.C:493
 PlotDriftSpeedSDDVsTime.C:494
 PlotDriftSpeedSDDVsTime.C:495
 PlotDriftSpeedSDDVsTime.C:496
 PlotDriftSpeedSDDVsTime.C:497
 PlotDriftSpeedSDDVsTime.C:498
 PlotDriftSpeedSDDVsTime.C:499
 PlotDriftSpeedSDDVsTime.C:500
 PlotDriftSpeedSDDVsTime.C:501
 PlotDriftSpeedSDDVsTime.C:502
 PlotDriftSpeedSDDVsTime.C:503
 PlotDriftSpeedSDDVsTime.C:504
 PlotDriftSpeedSDDVsTime.C:505
 PlotDriftSpeedSDDVsTime.C:506
 PlotDriftSpeedSDDVsTime.C:507
 PlotDriftSpeedSDDVsTime.C:508
 PlotDriftSpeedSDDVsTime.C:509
 PlotDriftSpeedSDDVsTime.C:510
 PlotDriftSpeedSDDVsTime.C:511
 PlotDriftSpeedSDDVsTime.C:512
 PlotDriftSpeedSDDVsTime.C:513
 PlotDriftSpeedSDDVsTime.C:514
 PlotDriftSpeedSDDVsTime.C:515
 PlotDriftSpeedSDDVsTime.C:516
 PlotDriftSpeedSDDVsTime.C:517
 PlotDriftSpeedSDDVsTime.C:518
 PlotDriftSpeedSDDVsTime.C:519
 PlotDriftSpeedSDDVsTime.C:520
 PlotDriftSpeedSDDVsTime.C:521
 PlotDriftSpeedSDDVsTime.C:522
 PlotDriftSpeedSDDVsTime.C:523
 PlotDriftSpeedSDDVsTime.C:524
 PlotDriftSpeedSDDVsTime.C:525
 PlotDriftSpeedSDDVsTime.C:526
 PlotDriftSpeedSDDVsTime.C:527
 PlotDriftSpeedSDDVsTime.C:528
 PlotDriftSpeedSDDVsTime.C:529
 PlotDriftSpeedSDDVsTime.C:530
 PlotDriftSpeedSDDVsTime.C:531
 PlotDriftSpeedSDDVsTime.C:532
 PlotDriftSpeedSDDVsTime.C:533
 PlotDriftSpeedSDDVsTime.C:534
 PlotDriftSpeedSDDVsTime.C:535
 PlotDriftSpeedSDDVsTime.C:536
 PlotDriftSpeedSDDVsTime.C:537
 PlotDriftSpeedSDDVsTime.C:538
 PlotDriftSpeedSDDVsTime.C:539
 PlotDriftSpeedSDDVsTime.C:540
 PlotDriftSpeedSDDVsTime.C:541
 PlotDriftSpeedSDDVsTime.C:542
 PlotDriftSpeedSDDVsTime.C:543
 PlotDriftSpeedSDDVsTime.C:544
 PlotDriftSpeedSDDVsTime.C:545
 PlotDriftSpeedSDDVsTime.C:546
 PlotDriftSpeedSDDVsTime.C:547
 PlotDriftSpeedSDDVsTime.C:548
 PlotDriftSpeedSDDVsTime.C:549
 PlotDriftSpeedSDDVsTime.C:550
 PlotDriftSpeedSDDVsTime.C:551
 PlotDriftSpeedSDDVsTime.C:552
 PlotDriftSpeedSDDVsTime.C:553
 PlotDriftSpeedSDDVsTime.C:554
 PlotDriftSpeedSDDVsTime.C:555
 PlotDriftSpeedSDDVsTime.C:556
 PlotDriftSpeedSDDVsTime.C:557
 PlotDriftSpeedSDDVsTime.C:558
 PlotDriftSpeedSDDVsTime.C:559
 PlotDriftSpeedSDDVsTime.C:560
 PlotDriftSpeedSDDVsTime.C:561
 PlotDriftSpeedSDDVsTime.C:562
 PlotDriftSpeedSDDVsTime.C:563
 PlotDriftSpeedSDDVsTime.C:564
 PlotDriftSpeedSDDVsTime.C:565
 PlotDriftSpeedSDDVsTime.C:566
 PlotDriftSpeedSDDVsTime.C:567
 PlotDriftSpeedSDDVsTime.C:568
 PlotDriftSpeedSDDVsTime.C:569
 PlotDriftSpeedSDDVsTime.C:570
 PlotDriftSpeedSDDVsTime.C:571
 PlotDriftSpeedSDDVsTime.C:572
 PlotDriftSpeedSDDVsTime.C:573
 PlotDriftSpeedSDDVsTime.C:574
 PlotDriftSpeedSDDVsTime.C:575
 PlotDriftSpeedSDDVsTime.C:576
 PlotDriftSpeedSDDVsTime.C:577
 PlotDriftSpeedSDDVsTime.C:578
 PlotDriftSpeedSDDVsTime.C:579
 PlotDriftSpeedSDDVsTime.C:580
 PlotDriftSpeedSDDVsTime.C:581
 PlotDriftSpeedSDDVsTime.C:582
 PlotDriftSpeedSDDVsTime.C:583
 PlotDriftSpeedSDDVsTime.C:584
 PlotDriftSpeedSDDVsTime.C:585
 PlotDriftSpeedSDDVsTime.C:586
 PlotDriftSpeedSDDVsTime.C:587
 PlotDriftSpeedSDDVsTime.C:588
 PlotDriftSpeedSDDVsTime.C:589
 PlotDriftSpeedSDDVsTime.C:590
 PlotDriftSpeedSDDVsTime.C:591
 PlotDriftSpeedSDDVsTime.C:592
 PlotDriftSpeedSDDVsTime.C:593
 PlotDriftSpeedSDDVsTime.C:594
 PlotDriftSpeedSDDVsTime.C:595
 PlotDriftSpeedSDDVsTime.C:596
 PlotDriftSpeedSDDVsTime.C:597
 PlotDriftSpeedSDDVsTime.C:598
 PlotDriftSpeedSDDVsTime.C:599
 PlotDriftSpeedSDDVsTime.C:600
 PlotDriftSpeedSDDVsTime.C:601
 PlotDriftSpeedSDDVsTime.C:602
 PlotDriftSpeedSDDVsTime.C:603
 PlotDriftSpeedSDDVsTime.C:604
 PlotDriftSpeedSDDVsTime.C:605
 PlotDriftSpeedSDDVsTime.C:606
 PlotDriftSpeedSDDVsTime.C:607
 PlotDriftSpeedSDDVsTime.C:608
 PlotDriftSpeedSDDVsTime.C:609
 PlotDriftSpeedSDDVsTime.C:610
 PlotDriftSpeedSDDVsTime.C:611
 PlotDriftSpeedSDDVsTime.C:612
 PlotDriftSpeedSDDVsTime.C:613
 PlotDriftSpeedSDDVsTime.C:614
 PlotDriftSpeedSDDVsTime.C:615
 PlotDriftSpeedSDDVsTime.C:616
 PlotDriftSpeedSDDVsTime.C:617
 PlotDriftSpeedSDDVsTime.C:618
 PlotDriftSpeedSDDVsTime.C:619
 PlotDriftSpeedSDDVsTime.C:620
 PlotDriftSpeedSDDVsTime.C:621
 PlotDriftSpeedSDDVsTime.C:622
 PlotDriftSpeedSDDVsTime.C:623
 PlotDriftSpeedSDDVsTime.C:624
 PlotDriftSpeedSDDVsTime.C:625
 PlotDriftSpeedSDDVsTime.C:626
 PlotDriftSpeedSDDVsTime.C:627
 PlotDriftSpeedSDDVsTime.C:628
 PlotDriftSpeedSDDVsTime.C:629
 PlotDriftSpeedSDDVsTime.C:630
 PlotDriftSpeedSDDVsTime.C:631
 PlotDriftSpeedSDDVsTime.C:632
 PlotDriftSpeedSDDVsTime.C:633
 PlotDriftSpeedSDDVsTime.C:634
 PlotDriftSpeedSDDVsTime.C:635
 PlotDriftSpeedSDDVsTime.C:636
 PlotDriftSpeedSDDVsTime.C:637
 PlotDriftSpeedSDDVsTime.C:638
 PlotDriftSpeedSDDVsTime.C:639
 PlotDriftSpeedSDDVsTime.C:640
 PlotDriftSpeedSDDVsTime.C:641
 PlotDriftSpeedSDDVsTime.C:642
 PlotDriftSpeedSDDVsTime.C:643
 PlotDriftSpeedSDDVsTime.C:644
 PlotDriftSpeedSDDVsTime.C:645
 PlotDriftSpeedSDDVsTime.C:646
 PlotDriftSpeedSDDVsTime.C:647
 PlotDriftSpeedSDDVsTime.C:648
 PlotDriftSpeedSDDVsTime.C:649
 PlotDriftSpeedSDDVsTime.C:650
 PlotDriftSpeedSDDVsTime.C:651
 PlotDriftSpeedSDDVsTime.C:652
 PlotDriftSpeedSDDVsTime.C:653
 PlotDriftSpeedSDDVsTime.C:654
 PlotDriftSpeedSDDVsTime.C:655
 PlotDriftSpeedSDDVsTime.C:656
 PlotDriftSpeedSDDVsTime.C:657
 PlotDriftSpeedSDDVsTime.C:658
 PlotDriftSpeedSDDVsTime.C:659
 PlotDriftSpeedSDDVsTime.C:660
 PlotDriftSpeedSDDVsTime.C:661
 PlotDriftSpeedSDDVsTime.C:662
 PlotDriftSpeedSDDVsTime.C:663
 PlotDriftSpeedSDDVsTime.C:664
 PlotDriftSpeedSDDVsTime.C:665
 PlotDriftSpeedSDDVsTime.C:666
 PlotDriftSpeedSDDVsTime.C:667
 PlotDriftSpeedSDDVsTime.C:668
 PlotDriftSpeedSDDVsTime.C:669
 PlotDriftSpeedSDDVsTime.C:670
 PlotDriftSpeedSDDVsTime.C:671
 PlotDriftSpeedSDDVsTime.C:672
 PlotDriftSpeedSDDVsTime.C:673
 PlotDriftSpeedSDDVsTime.C:674
 PlotDriftSpeedSDDVsTime.C:675
 PlotDriftSpeedSDDVsTime.C:676
 PlotDriftSpeedSDDVsTime.C:677
 PlotDriftSpeedSDDVsTime.C:678
 PlotDriftSpeedSDDVsTime.C:679
 PlotDriftSpeedSDDVsTime.C:680
 PlotDriftSpeedSDDVsTime.C:681
 PlotDriftSpeedSDDVsTime.C:682
 PlotDriftSpeedSDDVsTime.C:683
 PlotDriftSpeedSDDVsTime.C:684
 PlotDriftSpeedSDDVsTime.C:685
 PlotDriftSpeedSDDVsTime.C:686
 PlotDriftSpeedSDDVsTime.C:687
 PlotDriftSpeedSDDVsTime.C:688
 PlotDriftSpeedSDDVsTime.C:689
 PlotDriftSpeedSDDVsTime.C:690
 PlotDriftSpeedSDDVsTime.C:691
 PlotDriftSpeedSDDVsTime.C:692
 PlotDriftSpeedSDDVsTime.C:693
 PlotDriftSpeedSDDVsTime.C:694
 PlotDriftSpeedSDDVsTime.C:695
 PlotDriftSpeedSDDVsTime.C:696
 PlotDriftSpeedSDDVsTime.C:697
 PlotDriftSpeedSDDVsTime.C:698
 PlotDriftSpeedSDDVsTime.C:699
 PlotDriftSpeedSDDVsTime.C:700
 PlotDriftSpeedSDDVsTime.C:701
 PlotDriftSpeedSDDVsTime.C:702
 PlotDriftSpeedSDDVsTime.C:703
 PlotDriftSpeedSDDVsTime.C:704
 PlotDriftSpeedSDDVsTime.C:705
 PlotDriftSpeedSDDVsTime.C:706
 PlotDriftSpeedSDDVsTime.C:707
 PlotDriftSpeedSDDVsTime.C:708
 PlotDriftSpeedSDDVsTime.C:709
 PlotDriftSpeedSDDVsTime.C:710
 PlotDriftSpeedSDDVsTime.C:711
 PlotDriftSpeedSDDVsTime.C:712
 PlotDriftSpeedSDDVsTime.C:713
 PlotDriftSpeedSDDVsTime.C:714
 PlotDriftSpeedSDDVsTime.C:715
 PlotDriftSpeedSDDVsTime.C:716
 PlotDriftSpeedSDDVsTime.C:717
 PlotDriftSpeedSDDVsTime.C:718
 PlotDriftSpeedSDDVsTime.C:719
 PlotDriftSpeedSDDVsTime.C:720
 PlotDriftSpeedSDDVsTime.C:721
 PlotDriftSpeedSDDVsTime.C:722
 PlotDriftSpeedSDDVsTime.C:723
 PlotDriftSpeedSDDVsTime.C:724
 PlotDriftSpeedSDDVsTime.C:725
 PlotDriftSpeedSDDVsTime.C:726
 PlotDriftSpeedSDDVsTime.C:727
 PlotDriftSpeedSDDVsTime.C:728
 PlotDriftSpeedSDDVsTime.C:729
 PlotDriftSpeedSDDVsTime.C:730
 PlotDriftSpeedSDDVsTime.C:731
 PlotDriftSpeedSDDVsTime.C:732
 PlotDriftSpeedSDDVsTime.C:733
 PlotDriftSpeedSDDVsTime.C:734
 PlotDriftSpeedSDDVsTime.C:735
 PlotDriftSpeedSDDVsTime.C:736
 PlotDriftSpeedSDDVsTime.C:737
 PlotDriftSpeedSDDVsTime.C:738
 PlotDriftSpeedSDDVsTime.C:739
 PlotDriftSpeedSDDVsTime.C:740
 PlotDriftSpeedSDDVsTime.C:741
 PlotDriftSpeedSDDVsTime.C:742
 PlotDriftSpeedSDDVsTime.C:743
 PlotDriftSpeedSDDVsTime.C:744
 PlotDriftSpeedSDDVsTime.C:745
 PlotDriftSpeedSDDVsTime.C:746
 PlotDriftSpeedSDDVsTime.C:747
 PlotDriftSpeedSDDVsTime.C:748
 PlotDriftSpeedSDDVsTime.C:749
 PlotDriftSpeedSDDVsTime.C:750
 PlotDriftSpeedSDDVsTime.C:751
 PlotDriftSpeedSDDVsTime.C:752
 PlotDriftSpeedSDDVsTime.C:753
 PlotDriftSpeedSDDVsTime.C:754
 PlotDriftSpeedSDDVsTime.C:755
 PlotDriftSpeedSDDVsTime.C:756
 PlotDriftSpeedSDDVsTime.C:757
 PlotDriftSpeedSDDVsTime.C:758
 PlotDriftSpeedSDDVsTime.C:759
 PlotDriftSpeedSDDVsTime.C:760
 PlotDriftSpeedSDDVsTime.C:761
 PlotDriftSpeedSDDVsTime.C:762
 PlotDriftSpeedSDDVsTime.C:763
 PlotDriftSpeedSDDVsTime.C:764
 PlotDriftSpeedSDDVsTime.C:765
 PlotDriftSpeedSDDVsTime.C:766