ROOT logo
/*
  Make a TPC basic calibration trend plots:
  Input  - calibTime.root  tree with summary info per run expected to be in the local directory
         - optional parameters run range can be specified - startRun -endRun
  Output - default plots are saved in the pwd/pic/
  macro to define the picture style (NimStyle.C)  expected to be in the current directory 

  
  Example usage:
  
  aliroot -b -q /u/miranov/AliRoot/trunk/TPC/scripts/OCDBscan/makeTPCTrendPlots.C

*/

TTree * tree=0;
const Double_t kmin=0.01;
const Double_t kmax=0.99;
const Double_t kEpsilon=0.0000001;
Int_t run0=0;  // value to set from outside
Int_t run1=10000000;  // vaue to set  from outside

void makeTPCTrendPlots(Int_t startRun=0, Int_t endRun=1000000){
  //
  // make trend plots of the basic TPC calibration parameters
  //
  run0=startRun;
  run1=endRun;
  gROOT->Macro("NimStyle.C");
  TFile f("calibTime.root");
  tree = (TTree*)f.Get("dcs");
  tree->SetMarkerStyle(25);
  tree->SetMarkerSize(0.4);
  gStyle->SetMarkerSize(0.4);
  tree->SetAlias("isValidITS","abs(dits)<3600");
  tree->SetAlias("isValidCE","min(abs(dcea),abs(dcec))<3600&&max(tdriftCE.fElements[72],tdriftCE.fElements[73])>100");
  tree->SetAlias("isValidCEB","max(abs(dcea),abs(dcec))<3600&&min(tdriftCE.fElements[72],tdriftCE.fElements[73])>100");
  printf("makeTPCTrendPlots.C\n\n");
  printf("Processing DrawDriftTime();\n\n");
  DrawDriftTime();
  printf("DrawDriftRun();\n\n");
  DrawDriftRun();
  printf("DrawDriftCorel();\n\n");
  DrawDriftCorel();
}



void DrawDriftTime(){
  //
  // Draw drift velocity trend grapsh - as function of time
  //
  TCut cutRun=Form("run>%d&&run<%d",run0,run1);
  TCut cutCE="(tdriftCE.fElements[72]>100||tdriftCE.fElements[72]>100)&&min(abs(dcea),abs(dcec))<3600";
  TCut cutITS="abs(dits)<3600";

  Int_t entries=0;
  Double_t max=6;
  Double_t min= -6;
  Double_t maxT=0,minT=0;
  Double_t dmaxmin= 200000;
  TCanvas * canvasDrift = new TCanvas("canvasDriftTime","canvasDriftTime",2000,900);
  canvasDrift->Divide(1,3);
  // P/T part
  entries=tree->Draw("100*ptrel0:time",cutRun,"goff");
  TGraph * graphPTA = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphPTA->SetTitle("P/T correction A side");
  graphPTA->SetName("PTcorrectionAside");
  //
  entries=tree->Draw("100*ptrel1:time",cutRun,"goff");
  TGraph * graphPTC = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphPTC->SetTitle("P/T correction C side");
  graphPTC->SetName("PTcorrectionCside");
  //
  entries=tree->Draw("1000*(ptrel0-ptrel1):time",cutRun,"goff");
  TGraph * graphPTAMC = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphPTAMC->SetTitle("P/T correction A-C side");
  graphPTAMC->SetName("PTcorrectionAMCside");
  //
  //
  entries=tree->Draw("isValidCE*(-tdriftCE.fElements[72]+990)/10:time",cutRun,"goff");
  TGraph * graphCEA = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphCEA->SetName("CEAside");
  //
  entries=tree->Draw("isValidCE*(-tdriftCE.fElements[73]+990)/10:time",cutRun,"goff");
  TGraph * graphCEC = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphCEC->SetName("CECside");
  //
  entries=tree->Draw("isValidCE*(tdriftCE.fElements[73]-tdriftCE.fElements[72]):time",cutRun,"goff");
  TGraph * graphCEAMC = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphCEAMC->SetName("CEAMCside");
  //
  entries=tree->Draw("isValidITS*vdriftITS*100:time",cutRun,"goff");
  TGraph * graphITSTPCA = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphITSTPCA->SetName("ITSTPCAside");
  //
  entries=tree->Draw("isValidITS*vdriftITS*100:time",cutRun,"goff");
  TGraph * graphITSTPCC = new TGraph(entries,tree->GetV2(),tree->GetV1());
  graphITSTPCC->SetName("ITSTPCCside");
  //
  // Drawing part
  //
  min=-6;
  max=6;
  graphCEA->SetMinimum(min);
  graphCEA->SetMaximum(max);
  graphPTA->SetMinimum(min);
  graphPTA->SetMaximum(max);
  graphITSTPCA->SetMinimum(min);
  graphITSTPCA->SetMaximum(max);
  graphPTA->GetXaxis()->SetRangeUser(minT,maxT);
  graphCEA->GetXaxis()->SetRangeUser(minT,maxT);
  graphITSTPCA->GetXaxis()->SetRangeUser(minT,maxT);
  //
  //
  canvasDrift->cd(1); 
  graphPTA->GetXaxis()->SetTimeDisplay(kTRUE);
  graphPTA->GetYaxis()->SetTitle("#Delta P/T (%)");
  graphPTA->SetMarkerColor(2);graphPTA->SetMarkerStyle(25);
  graphPTC->SetMarkerColor(4);graphPTC->SetMarkerStyle(27);
  graphPTA->Draw("alp");
  graphPTC->Draw("lp");
  graphPTAMC->SetMarkerColor(3);graphPTAMC->SetMarkerStyle(25); 
  graphPTAMC->Draw("lp");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"P/T correction");
  legend->AddEntry(graphPTA,"A side (%)");
  legend->AddEntry(graphPTC,"C side (%)");
  legend->AddEntry(graphPTAMC,"A-C side (0.1%)");
  legend->Draw();
  //
  canvasDrift->cd(2); 
  graphITSTPCA->GetXaxis()->SetTimeDisplay(kTRUE);
  graphITSTPCA->GetYaxis()->SetTitle("v_{dcorr} (%)");
  graphITSTPCA->SetMarkerColor(2);graphITSTPCA->SetMarkerStyle(25);
  graphITSTPCC->SetMarkerColor(4);graphITSTPCC->SetMarkerStyle(27); 
  graphITSTPCA->Draw("ap");
  graphITSTPCC->Draw("p");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"Drift correction (TPC-ITS)");
  legend->AddEntry(graphITSTPCA,"A side (%)");
  legend->AddEntry(graphITSTPCC,"C side (%)");
  legend->Draw();
  //
  canvasDrift->cd(3); 
  graphCEA->GetXaxis()->SetTimeDisplay(kTRUE);
  graphCEA->GetYaxis()->SetTitle("(T_{CE0}-T_{CE})/T_{CE0}");
  graphCEA->SetMarkerColor(2);graphCEA->SetMarkerStyle(25);
  graphCEC->SetMarkerColor(4);graphCEC->SetMarkerStyle(27);
  graphCEA->Draw("ap");
  graphCEC->Draw("p");
  graphCEAMC->SetMarkerColor(3);graphCEAMC->SetMarkerStyle(25); 
  graphCEAMC->Draw("p");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"CE laser time (T_{CE0}=990)");
  legend->AddEntry(graphCEA,"A side (%)");
  legend->AddEntry(graphCEC,"C side (%)");
  legend->AddEntry(graphCEAMC,"A-C side (0.1%)");
  legend->Draw();
  //
  canvasDrift->SaveAs("pic/canvasDriftTime.gif");
}


void DrawDriftRun(){
  //
  //
  TCut cutRun=Form("run>%d&&run<%d",run0,run1);
  TCut cutCE="(tdriftCE.fElements[72]>100||tdriftCE.fElements[72]>100)&&min(abs(dcea),abs(dcec))<3600";
  TCut cutITS="abs(dits)<3600";

  Int_t entries=0;
  Double_t max=-100000;
  Double_t min= 100000;
  Double_t maxT=0,minT=0;
  Double_t dmaxmin= 200000;
  TCanvas * canvasDrift = new TCanvas("canvasDriftRun","canvasDriftRun",2000,900);
  canvasDrift->Divide(1,3);
  //
  // P/T part
  TGraph * graphPTA = TStatToolkit::MakeGraphSparse(tree,"100*ptrel0:run",cutRun);
  graphPTA->SetTitle("P/T correction A side");
  graphPTA->SetName("PTcorrectionAside");
  TGraph * graphPTC = TStatToolkit::MakeGraphSparse(tree,"100*ptrel1:run",cutRun);
  graphPTC->SetTitle("P/T correction C side");
  graphPTC->SetName("PTcorrectionCside");
  TGraph * graphPTAMC = TStatToolkit::MakeGraphSparse(tree,"1000*(ptrel0-ptrel1):run",cutRun);
  graphPTAMC->SetTitle("P/T correction A-C side");
  graphPTAMC->SetName("PTcorrectionAMCside");
  //
  TGraph * graphCEA = TStatToolkit::MakeGraphSparse(tree,"isValidCE*(-tdriftCE.fElements[72]+990)/10:run",cutRun+cutITS);
  graphCEA->SetTitle("P/T correction A side");
  graphCEA->SetName("CEcorrectionAside");
  TGraph * graphCEC = TStatToolkit::MakeGraphSparse(tree,"isValidCE*(-tdriftCE.fElements[73]+990)/10:run",cutRun+cutITS);
  graphCEC->SetTitle("P/T correction C side");
  graphCEC->SetName("CEcorrectionCside");
  TGraph * graphCEAMC = TStatToolkit::MakeGraphSparse(tree,"(tdriftCE.fElements[73]-tdriftCE.fElements[72]):run",cutRun+cutITS);
  graphCEAMC->SetTitle("P/T correction A-C side");
  graphCEAMC->SetName("CEcorrectionAMCside");
  //
  TGraph * graphITSTPCA = TStatToolkit::MakeGraphSparse(tree,"isValidITS*vdriftITS*100:run",cutRun+cutITS);
  graphITSTPCA->SetTitle("P/T correction A side");
  graphITSTPCA->SetName("ITSTPCcorrectionAside");
  TGraph * graphITSTPCC = TStatToolkit::MakeGraphSparse(tree,"isValidITS*vdriftITS*100:run",cutRun+cutITS);
  graphITSTPCC->SetTitle("P/T correction C side");
  graphITSTPCC->SetName("ITSTPCcorrectionCside");
  //
  // Drawing part
  //
  min=-6;
  max=6;
  graphCEA->SetMinimum(min);
  graphCEA->SetMaximum(max);
  graphPTA->SetMinimum(min);
  graphPTA->SetMaximum(max);
  graphITSTPCA->SetMinimum(min);
  graphITSTPCA->SetMaximum(max);
  //
  //
  canvasDrift->cd(1); 
  graphPTA->GetXaxis()->SetTimeDisplay(kTRUE);
  graphPTA->GetYaxis()->SetTitle("#Delta P/T (%)");
  graphPTA->SetMarkerColor(2);graphPTA->SetMarkerStyle(25);
  graphPTC->SetMarkerColor(4);graphPTC->SetMarkerStyle(27);
  graphPTA->Draw("alp");
  graphPTC->Draw("lp");
  graphPTAMC->SetMarkerColor(3);graphPTAMC->SetMarkerStyle(25); 
  graphPTAMC->Draw("lp");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"P/T correction");
  legend->AddEntry(graphPTA,"A side (%)");
  legend->AddEntry(graphPTC,"C side (%)");
  legend->AddEntry(graphPTAMC,"A-C side (0.1%)");
  legend->Draw();
  //
  canvasDrift->cd(2); 
  graphITSTPCA->GetXaxis()->SetTimeDisplay(kTRUE);
  graphITSTPCA->GetYaxis()->SetTitle("v_{dcorr} (%)");
  graphITSTPCA->SetMarkerColor(2);graphITSTPCA->SetMarkerStyle(25);
  graphITSTPCC->SetMarkerColor(4);graphITSTPCC->SetMarkerStyle(27); 
  graphITSTPCA->Draw("ap");
  graphITSTPCC->Draw("p");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"Drift correction (TPC-ITS)");
  legend->AddEntry(graphITSTPCA,"A side (%)");
  legend->AddEntry(graphITSTPCC,"C side (%)");
  legend->Draw();
  //
  canvasDrift->cd(3); 
  graphCEA->GetXaxis()->SetTimeDisplay(kTRUE);
  graphCEA->GetYaxis()->SetTitle("(T_{CE0}-T_{CE})/T_{CE0}");
  graphCEA->SetMarkerColor(2);graphCEA->SetMarkerStyle(25);
  graphCEC->SetMarkerColor(4);graphCEC->SetMarkerStyle(27);
  graphCEA->Draw("ap");
  graphCEC->Draw("p");
  graphCEAMC->SetMarkerColor(3);graphCEAMC->SetMarkerStyle(25); 
  graphCEAMC->Draw("p");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"CE laser time (T_{CE0}=990)");
  legend->AddEntry(graphCEA,"A side (%)");
  legend->AddEntry(graphCEC,"C side (%)");
  legend->AddEntry(graphCEAMC,"A-C side (0.1%)");
  legend->Draw();
  //
  canvasDrift->SaveAs("pic/canvasDriftRun.gif");
}

void DrawDriftCorel(){
  //
  //
  //
  TStatToolkit toolkit;
  Double_t chi2=0;
  Int_t    npoints=0;
  TVectorD param;
  TMatrixD covar;
  TString *strDelta=0;
  Int_t npointsMax=100000;
  //
  tree->SetAlias("tCEB","(tdriftCE.fElements[72]+tdriftCE.fElements[73]-2000)/2000");
  tree->SetAlias("tCEA","(tdriftCE.fElements[72]-1000)/1000");
  tree->SetAlias("tCEC","(tdriftCE.fElements[73]-1000)/1000");
  
  tree->SetAlias("tCEE","1-((1+(ptrel0+ptrel1)*0.5)*(1+vdriftITS))");
  strDelta= TStatToolkit::FitPlaneConstrain(tree,"tCEB", "tCEE","isValidCEB&&isValidITS", chi2,npoints,param,covar,-1,0, npointsMax, 20);
  //
  strDelta->Tokenize("++")->Print();
  tree->SetAlias("tCEF",strDelta->Data());

  TGraph * graphLT = TStatToolkit::MakeGraphSparse(tree,"2.64*1000*(tCEB-tCEF):run","isValidCEB&&isValidITS"); 
  TGraph * graphLTA = TStatToolkit::MakeGraphSparse(tree,"2.64*1000*(tCEA-tCEF):run","isValidCEB&&isValidITS"); 
  TGraph * graphLTC = TStatToolkit::MakeGraphSparse(tree,"2.64*1000*(tCEC-tCEF):run","isValidCEB&&isValidITS"); 
  graphLT->GetYaxis()->SetTitle("#Delta (mm)");
  graphLT->SetMarkerStyle(25);
  graphLTA->SetMarkerStyle(26); graphLTA->SetMarkerColor(2);
  graphLTC->SetMarkerStyle(27); graphLTC->SetMarkerColor(4);
  graphLT->SetMaximum(10);
  graphLT->SetMinimum(-10);

  TCanvas * canvasDrift = new TCanvas("canvasDriftDiff","canvasDriftDiff",2000,500);
  graphLT->Draw("alp");
  graphLTA->Draw("lp");
  graphLTC->Draw("lp");
  TLegend *legend = new TLegend(0.11,0.11,0.4,0.35,"CE plane  - corrected with tracks");
  legend->AddEntry(graphLT,"AC side mean (mm)");
  legend->AddEntry(graphLTA,"A side (mm)");
  legend->AddEntry(graphLTC,"C side (mm)");
  legend->Draw();
  //
  canvasDrift->SaveAs("pic/canvasDriftDiffRun.gif");
}
 makeTPCTrendPlots.C:1
 makeTPCTrendPlots.C:2
 makeTPCTrendPlots.C:3
 makeTPCTrendPlots.C:4
 makeTPCTrendPlots.C:5
 makeTPCTrendPlots.C:6
 makeTPCTrendPlots.C:7
 makeTPCTrendPlots.C:8
 makeTPCTrendPlots.C:9
 makeTPCTrendPlots.C:10
 makeTPCTrendPlots.C:11
 makeTPCTrendPlots.C:12
 makeTPCTrendPlots.C:13
 makeTPCTrendPlots.C:14
 makeTPCTrendPlots.C:15
 makeTPCTrendPlots.C:16
 makeTPCTrendPlots.C:17
 makeTPCTrendPlots.C:18
 makeTPCTrendPlots.C:19
 makeTPCTrendPlots.C:20
 makeTPCTrendPlots.C:21
 makeTPCTrendPlots.C:22
 makeTPCTrendPlots.C:23
 makeTPCTrendPlots.C:24
 makeTPCTrendPlots.C:25
 makeTPCTrendPlots.C:26
 makeTPCTrendPlots.C:27
 makeTPCTrendPlots.C:28
 makeTPCTrendPlots.C:29
 makeTPCTrendPlots.C:30
 makeTPCTrendPlots.C:31
 makeTPCTrendPlots.C:32
 makeTPCTrendPlots.C:33
 makeTPCTrendPlots.C:34
 makeTPCTrendPlots.C:35
 makeTPCTrendPlots.C:36
 makeTPCTrendPlots.C:37
 makeTPCTrendPlots.C:38
 makeTPCTrendPlots.C:39
 makeTPCTrendPlots.C:40
 makeTPCTrendPlots.C:41
 makeTPCTrendPlots.C:42
 makeTPCTrendPlots.C:43
 makeTPCTrendPlots.C:44
 makeTPCTrendPlots.C:45
 makeTPCTrendPlots.C:46
 makeTPCTrendPlots.C:47
 makeTPCTrendPlots.C:48
 makeTPCTrendPlots.C:49
 makeTPCTrendPlots.C:50
 makeTPCTrendPlots.C:51
 makeTPCTrendPlots.C:52
 makeTPCTrendPlots.C:53
 makeTPCTrendPlots.C:54
 makeTPCTrendPlots.C:55
 makeTPCTrendPlots.C:56
 makeTPCTrendPlots.C:57
 makeTPCTrendPlots.C:58
 makeTPCTrendPlots.C:59
 makeTPCTrendPlots.C:60
 makeTPCTrendPlots.C:61
 makeTPCTrendPlots.C:62
 makeTPCTrendPlots.C:63
 makeTPCTrendPlots.C:64
 makeTPCTrendPlots.C:65
 makeTPCTrendPlots.C:66
 makeTPCTrendPlots.C:67
 makeTPCTrendPlots.C:68
 makeTPCTrendPlots.C:69
 makeTPCTrendPlots.C:70
 makeTPCTrendPlots.C:71
 makeTPCTrendPlots.C:72
 makeTPCTrendPlots.C:73
 makeTPCTrendPlots.C:74
 makeTPCTrendPlots.C:75
 makeTPCTrendPlots.C:76
 makeTPCTrendPlots.C:77
 makeTPCTrendPlots.C:78
 makeTPCTrendPlots.C:79
 makeTPCTrendPlots.C:80
 makeTPCTrendPlots.C:81
 makeTPCTrendPlots.C:82
 makeTPCTrendPlots.C:83
 makeTPCTrendPlots.C:84
 makeTPCTrendPlots.C:85
 makeTPCTrendPlots.C:86
 makeTPCTrendPlots.C:87
 makeTPCTrendPlots.C:88
 makeTPCTrendPlots.C:89
 makeTPCTrendPlots.C:90
 makeTPCTrendPlots.C:91
 makeTPCTrendPlots.C:92
 makeTPCTrendPlots.C:93
 makeTPCTrendPlots.C:94
 makeTPCTrendPlots.C:95
 makeTPCTrendPlots.C:96
 makeTPCTrendPlots.C:97
 makeTPCTrendPlots.C:98
 makeTPCTrendPlots.C:99
 makeTPCTrendPlots.C:100
 makeTPCTrendPlots.C:101
 makeTPCTrendPlots.C:102
 makeTPCTrendPlots.C:103
 makeTPCTrendPlots.C:104
 makeTPCTrendPlots.C:105
 makeTPCTrendPlots.C:106
 makeTPCTrendPlots.C:107
 makeTPCTrendPlots.C:108
 makeTPCTrendPlots.C:109
 makeTPCTrendPlots.C:110
 makeTPCTrendPlots.C:111
 makeTPCTrendPlots.C:112
 makeTPCTrendPlots.C:113
 makeTPCTrendPlots.C:114
 makeTPCTrendPlots.C:115
 makeTPCTrendPlots.C:116
 makeTPCTrendPlots.C:117
 makeTPCTrendPlots.C:118
 makeTPCTrendPlots.C:119
 makeTPCTrendPlots.C:120
 makeTPCTrendPlots.C:121
 makeTPCTrendPlots.C:122
 makeTPCTrendPlots.C:123
 makeTPCTrendPlots.C:124
 makeTPCTrendPlots.C:125
 makeTPCTrendPlots.C:126
 makeTPCTrendPlots.C:127
 makeTPCTrendPlots.C:128
 makeTPCTrendPlots.C:129
 makeTPCTrendPlots.C:130
 makeTPCTrendPlots.C:131
 makeTPCTrendPlots.C:132
 makeTPCTrendPlots.C:133
 makeTPCTrendPlots.C:134
 makeTPCTrendPlots.C:135
 makeTPCTrendPlots.C:136
 makeTPCTrendPlots.C:137
 makeTPCTrendPlots.C:138
 makeTPCTrendPlots.C:139
 makeTPCTrendPlots.C:140
 makeTPCTrendPlots.C:141
 makeTPCTrendPlots.C:142
 makeTPCTrendPlots.C:143
 makeTPCTrendPlots.C:144
 makeTPCTrendPlots.C:145
 makeTPCTrendPlots.C:146
 makeTPCTrendPlots.C:147
 makeTPCTrendPlots.C:148
 makeTPCTrendPlots.C:149
 makeTPCTrendPlots.C:150
 makeTPCTrendPlots.C:151
 makeTPCTrendPlots.C:152
 makeTPCTrendPlots.C:153
 makeTPCTrendPlots.C:154
 makeTPCTrendPlots.C:155
 makeTPCTrendPlots.C:156
 makeTPCTrendPlots.C:157
 makeTPCTrendPlots.C:158
 makeTPCTrendPlots.C:159
 makeTPCTrendPlots.C:160
 makeTPCTrendPlots.C:161
 makeTPCTrendPlots.C:162
 makeTPCTrendPlots.C:163
 makeTPCTrendPlots.C:164
 makeTPCTrendPlots.C:165
 makeTPCTrendPlots.C:166
 makeTPCTrendPlots.C:167
 makeTPCTrendPlots.C:168
 makeTPCTrendPlots.C:169
 makeTPCTrendPlots.C:170
 makeTPCTrendPlots.C:171
 makeTPCTrendPlots.C:172
 makeTPCTrendPlots.C:173
 makeTPCTrendPlots.C:174
 makeTPCTrendPlots.C:175
 makeTPCTrendPlots.C:176
 makeTPCTrendPlots.C:177
 makeTPCTrendPlots.C:178
 makeTPCTrendPlots.C:179
 makeTPCTrendPlots.C:180
 makeTPCTrendPlots.C:181
 makeTPCTrendPlots.C:182
 makeTPCTrendPlots.C:183
 makeTPCTrendPlots.C:184
 makeTPCTrendPlots.C:185
 makeTPCTrendPlots.C:186
 makeTPCTrendPlots.C:187
 makeTPCTrendPlots.C:188
 makeTPCTrendPlots.C:189
 makeTPCTrendPlots.C:190
 makeTPCTrendPlots.C:191
 makeTPCTrendPlots.C:192
 makeTPCTrendPlots.C:193
 makeTPCTrendPlots.C:194
 makeTPCTrendPlots.C:195
 makeTPCTrendPlots.C:196
 makeTPCTrendPlots.C:197
 makeTPCTrendPlots.C:198
 makeTPCTrendPlots.C:199
 makeTPCTrendPlots.C:200
 makeTPCTrendPlots.C:201
 makeTPCTrendPlots.C:202
 makeTPCTrendPlots.C:203
 makeTPCTrendPlots.C:204
 makeTPCTrendPlots.C:205
 makeTPCTrendPlots.C:206
 makeTPCTrendPlots.C:207
 makeTPCTrendPlots.C:208
 makeTPCTrendPlots.C:209
 makeTPCTrendPlots.C:210
 makeTPCTrendPlots.C:211
 makeTPCTrendPlots.C:212
 makeTPCTrendPlots.C:213
 makeTPCTrendPlots.C:214
 makeTPCTrendPlots.C:215
 makeTPCTrendPlots.C:216
 makeTPCTrendPlots.C:217
 makeTPCTrendPlots.C:218
 makeTPCTrendPlots.C:219
 makeTPCTrendPlots.C:220
 makeTPCTrendPlots.C:221
 makeTPCTrendPlots.C:222
 makeTPCTrendPlots.C:223
 makeTPCTrendPlots.C:224
 makeTPCTrendPlots.C:225
 makeTPCTrendPlots.C:226
 makeTPCTrendPlots.C:227
 makeTPCTrendPlots.C:228
 makeTPCTrendPlots.C:229
 makeTPCTrendPlots.C:230
 makeTPCTrendPlots.C:231
 makeTPCTrendPlots.C:232
 makeTPCTrendPlots.C:233
 makeTPCTrendPlots.C:234
 makeTPCTrendPlots.C:235
 makeTPCTrendPlots.C:236
 makeTPCTrendPlots.C:237
 makeTPCTrendPlots.C:238
 makeTPCTrendPlots.C:239
 makeTPCTrendPlots.C:240
 makeTPCTrendPlots.C:241
 makeTPCTrendPlots.C:242
 makeTPCTrendPlots.C:243
 makeTPCTrendPlots.C:244
 makeTPCTrendPlots.C:245
 makeTPCTrendPlots.C:246
 makeTPCTrendPlots.C:247
 makeTPCTrendPlots.C:248
 makeTPCTrendPlots.C:249
 makeTPCTrendPlots.C:250
 makeTPCTrendPlots.C:251
 makeTPCTrendPlots.C:252
 makeTPCTrendPlots.C:253
 makeTPCTrendPlots.C:254
 makeTPCTrendPlots.C:255
 makeTPCTrendPlots.C:256
 makeTPCTrendPlots.C:257
 makeTPCTrendPlots.C:258
 makeTPCTrendPlots.C:259
 makeTPCTrendPlots.C:260
 makeTPCTrendPlots.C:261
 makeTPCTrendPlots.C:262
 makeTPCTrendPlots.C:263
 makeTPCTrendPlots.C:264
 makeTPCTrendPlots.C:265
 makeTPCTrendPlots.C:266
 makeTPCTrendPlots.C:267
 makeTPCTrendPlots.C:268
 makeTPCTrendPlots.C:269
 makeTPCTrendPlots.C:270
 makeTPCTrendPlots.C:271
 makeTPCTrendPlots.C:272
 makeTPCTrendPlots.C:273
 makeTPCTrendPlots.C:274
 makeTPCTrendPlots.C:275
 makeTPCTrendPlots.C:276
 makeTPCTrendPlots.C:277
 makeTPCTrendPlots.C:278
 makeTPCTrendPlots.C:279
 makeTPCTrendPlots.C:280
 makeTPCTrendPlots.C:281
 makeTPCTrendPlots.C:282
 makeTPCTrendPlots.C:283
 makeTPCTrendPlots.C:284
 makeTPCTrendPlots.C:285
 makeTPCTrendPlots.C:286
 makeTPCTrendPlots.C:287
 makeTPCTrendPlots.C:288
 makeTPCTrendPlots.C:289
 makeTPCTrendPlots.C:290
 makeTPCTrendPlots.C:291
 makeTPCTrendPlots.C:292
 makeTPCTrendPlots.C:293
 makeTPCTrendPlots.C:294
 makeTPCTrendPlots.C:295
 makeTPCTrendPlots.C:296
 makeTPCTrendPlots.C:297
 makeTPCTrendPlots.C:298
 makeTPCTrendPlots.C:299
 makeTPCTrendPlots.C:300
 makeTPCTrendPlots.C:301
 makeTPCTrendPlots.C:302
 makeTPCTrendPlots.C:303
 makeTPCTrendPlots.C:304
 makeTPCTrendPlots.C:305