Hi.
I followed the example in http://root.cern.ch/root/html/tutorials/graphs/gerrors2.C.html to plot 3 TGraphs, however only gEdgeEff is drawn.
What did I miss?
version : root_v5-34-00-patches
Double_t edgeEfficiency(float massenAbsorbCoff) {
Double_t eff;
float deadZone=0.02;//cm
eff = TMath::Exp(-1*(deadZone/massenAbsorbCoff));
return eff;
}
Double_t absorptionEff(float stipLenth, float massenAbsorbCoff) {
Double_t eff;
eff = 1- (TMath::Exp(-1*(stipLenth/massenAbsorbCoff))) ;
return eff;
}
int SensorEff () {
int FAIL = -1;
int OK = 0;
int nlines = 5;
float energy, attCoeff, massenAbsorbCoff;
Double_t edgeEff;
Double_t effStrip15;
Double_t effStrip20;
char *fabsorb = "someFile.txt";
FILE *fp = fopen(fabsorb, "r");
if(fp == NULL) {
printf("Could not open file %s\n", fabsorb);
return FAIL;
}
TCanvas *c1 = new TCanvas("c1","",200,10,700,500);
// draw a frame to define the range
TH1F *hr = c1->DrawFrame(5.,0.,45.,1.05);
TGraph *gEdgeEff = new TGraph ();
gEdgeEff->SetLineColor(2);
gEdgeEff->SetLineWidth(7);
TGraph *gstrip15 = new TGraph();
gstrip15->SetLineColor(kBlue);
gstrip15-> SetLineWidth(6);
TGraph *gstrip20 = new TGraph();
gstrip20->SetLineColor(6); //magenta
gstrip20-> SetLineWidth(3);
for (int iline = 0; iline <nlines; iline++) {
fscanf(fp, "%f %f %f\n", &energy, &attCoeff, &massenAbsorbCoff);
edgeEff = edgeEfficiency (massenAbsorbCoff);
gEdgeEff->SetPoint(iline, energy*1000,edgeEff);
effStrip15 = absorptionEff(1.5, massenAbsorbCoff);
gstrip15->SetPoint(iline, energy, effStrip15);
effStrip20 = absorptionEff(2.0, massenAbsorbCoff);
gstrip20->SetPoint(iline, energy, effStrip20);
}
gEdgeEff->Draw("C*");
gstrip15->Draw("C*");
gstrip20->Draw("C* ");
fclose(fp);
return OK;
}
Thanks