{ // Setting plots range and style int p_bin=40; int p_min=920; int p_max=960; int charge_bin=50; int charge_min=0; int charge_max=500; float label_font=0.015; float axis_offset=1.1; float time_bin=5; float label_size=0.02; float ref; int wp_min=0; int wp_max=2; int wp_bin=100; int std_ref=2; int unixtime_bin=100; gStyle->SetOptStat(0); Double_t x1=0.75,y1=0.37,x2=x1+0.23,y2=0.41; // Defining variable already present in the dst file Int_t Unixtime; Int_t Channel; Int_t Avi; Int_t Stri; Float_t Ratio; Float_t Charge; Float_t Eff; Float_t temp1; Float_t temp2; Float_t rh1; Float_t rh2; Float_t p1; Float_t p2; Float_t env_t; Float_t env_rh; Float_t env_p; Float_t wp; Int_t i,start,finish; // Opening the DSTiles FILE *fp = fopen("timeline.dst","r"); TFile *hfile = 0; hfile = TFile::Open("ggm_plot.root","RECREATE"); // Tree and Branch definitions TTree *tree = new TTree("GGM","Gas Gain Monitoring System - PLOTS"); GGM->Branch("Unixtime",&Unixtime,"Unixtime/I"); GGM->Branch("Channel",&Channel,"Channel/I"); GGM->Branch("Ratio",&Ratio,"Ratio/F"); GGM->Branch("Charge",&Charge,"Charge/F"); GGM->Branch("p1",&p1,"p1/F"); GGM->Branch("p2",&p2,"p2/F"); GGM->Branch("env_t",&env_t,"env_t/F"); GGM->Branch("env_p",&env_p,"env_p/F"); GGM->Branch("wp",&wp,"wp/F"); // Scanning the dst file and filling the Tree while (!feof(fp)) { fscanf(fp,"%d %d %d %d %f %f %f",&Unixtime,&Channel,&Avi,&Stri,&Ratio,&Charge,&Eff); fscanf(fp,"%f %f %f %f %f %f %f %f %f\n",&temp1,&temp2,&rh1,&rh2,&p1,&p2,&env_rh,&env_t,&env_p); p1=p1+env_p; p2=p2+env_p; if (i == 1) { start=Unixtime; } i=i+1; finish=Unixtime; if (Channel==std_ref) { ref=Charge; } if (ref>0) { wp = Charge / ref; } else { wp = 0; } if (Channel>=0) { if (Channel<=12) { if (env_t>5) { if (env_t<50) { GGM->Fill(); } else { p1 = 999; p2 = 999; } } } } } fclose(fp); GGM->Write(); //Charge Chamber1_charge = new TCanvas("Chamber1_charge","plot Q-CH1",0,0,800,800); TH2F *frame = new TH2F("frame99","",unixtime_bin,start,finish,charge_bin,charge_min,charge_max); frame99->SetTitle(""); frame99->GetXaxis()->SetTitleOffset(axis_offset); frame99->GetXaxis()->SetTimeDisplay(1); frame99->GetXaxis()->SetTimeFormat("%Y %m %d %H:%M %F 1970-01-01 00:00:00"); frame99->GetXaxis()->SetNdivisions(time_bin); frame99->GetXaxis()->SetLabelSize(label_size); frame99->GetXaxis()->SetTitle("time"); frame99->GetYaxis()->SetTitleOffset(axis_offset); frame99->GetYaxis()->SetLabelSize(label_size); frame99->GetYaxis()->SetTitle("Charge"); GGM->Draw("Charge:Unixtime>>hcharge_ch1","Channel==1"); hcharge_ch1->SetMarkerSize(1); hcharge_ch1->SetMarkerStyle(31); hcharge_ch1->SetMarkerColor(874); frame99->Draw(); hcharge_ch1->Draw("same"); Chamber2_charge = new TCanvas("Chamber2_charge","plot Q-CH2",0,0,800,800); TH2F *frame2 = new TH2F("frame82","",unixtime_bin,start,finish,charge_bin,charge_min,charge_max); frame82->SetTitle(""); frame82->GetXaxis()->SetTitleOffset(axis_offset); frame82->GetXaxis()->SetTimeDisplay(1); frame82->GetXaxis()->SetTimeFormat("%Y %m %d %H:%M %F 1970-01-01 00:00:00"); frame82->GetXaxis()->SetNdivisions(time_bin); frame82->GetXaxis()->SetLabelSize(label_size); frame82->GetXaxis()->SetTitle("time"); frame82->GetYaxis()->SetTitleOffset(axis_offset); frame82->GetYaxis()->SetLabelSize(label_size); frame82->GetYaxis()->SetTitle("Charge"); GGM->Draw("Charge:Unixtime>>hcharge_ch2","Channel==2"); hcharge_ch2->SetMarkerSize(1); hcharge_ch2->SetMarkerStyle(31); hcharge_ch2->SetMarkerColor(874); frame82->Draw(); hcharge_ch2->Draw("same"); Chamber3_charge = new TCanvas("Chamber3_charge","plot Q-CH3",0,0,800,800); TH2F *frame3 = new TH2F("frame83","",unixtime_bin,start,finish,charge_bin,charge_min,charge_max); frame83->SetTitle(""); frame83->GetXaxis()->SetTitleOffset(axis_offset); frame83->GetXaxis()->SetTimeDisplay(1); frame83->GetXaxis()->SetTimeFormat("%Y %m %d %H:%M %F 1970-01-01 00:00:00"); frame83->GetXaxis()->SetNdivisions(time_bin); frame83->GetXaxis()->SetLabelSize(label_size); frame83->GetXaxis()->SetTitle("time"); frame83->GetYaxis()->SetTitleOffset(axis_offset); frame83->GetYaxis()->SetLabelSize(label_size); frame83->GetYaxis()->SetTitle("Charge"); GGM->Draw("Charge:Unixtime>>hcharge_ch3","Channel==3"); hcharge_ch3->SetMarkerSize(1); hcharge_ch3->SetMarkerStyle(31); hcharge_ch3->SetMarkerColor(874); frame83->Draw(); hcharge_ch3->Draw("same"); //wp x1=0.85,y1=0.31,x2=x1+0.1,y2=0.35; TH2F *frame3wp = new TH2F("frame3wp","frame3wp",unixtime_bin,start,finish,wp_bin,wp_min,wp_max); frame3wp->SetMarkerColor(797); frame3wp->SetMarkerStyle(31); frame3wp->SetMarkerSize(1); TH2F *frame4wp = new TH2F("frame4wp","frame4wp",unixtime_bin,start,finish,wp_bin,wp_min,wp_max); frame4wp->SetMarkerColor(600); frame4wp->SetMarkerStyle(31); frame4wp->SetMarkerSize(1); TH2F *frame5wp = new TH2F("frame5wp","frame5wp",unixtime_bin,start,finish,wp_bin,wp_min,wp_max); frame5wp->SetMarkerColor(417); frame5wp->SetMarkerStyle(31); frame5wp->SetMarkerSize(1); FrameXwp = new TCanvas("FrameXwp","WPS plot",0,0,800,800); TH2F *sens_wp = new TH2F("sens_wp","sens_wp",unixtime_bin,start,finish,wp_bin,wp_min,wp_max); sens_wp->SetTitle("WPS"); sens_wp->GetXaxis()->SetTitleOffset(axis_offset); sens_wp->GetXaxis()->SetTimeDisplay(1); sens_wp->GetXaxis()->SetTimeFormat("%Y %m %d %H:%M %F 1970-01-01 00:00:00"); sens_wp->GetXaxis()->SetNdivisions(time_bin); sens_wp->GetXaxis()->SetLabelSize(label_size); sens_wp->GetXaxis()->SetTitle("time"); sens_wp->GetYaxis()->SetTitleOffset(axis_offset); sens_wp->GetYaxis()->SetLabelSize(label_size); sens_wp->GetYaxis()->SetTitle("wp"); gPad->SetGrid(); GGM->Draw("wp:Unixtime>>frame3wp","Channel==3","same"); GGM->Draw("wp:Unixtime>>frame4wp","Channel==4","same"); GGM->Draw("wp:Unixtime>>frame5wp","Channel==5","same"); sens_wp->Draw(); frame3wp->Draw("same"); frame4wp->Draw("same"); frame5wp->Draw("same"); //label TLegend *leg1=new TLegend(x1,y1,x2,y2); leg1->AddEntry(frame,"Top-Bef","p"); leg1->SetTextColor(1); leg1->SetFillColor(797); leg1->SetTextSize(label_font); leg1->Draw(); y2=y2-0.04; y1=y1-0.04; TLegend *leg2=new TLegend(x1,y1,x2,y2); leg2->AddEntry(frame,"Med-Bef","p"); leg2->SetTextColor(0); leg2->SetFillColor(600); leg2->SetTextSize(label_font); leg2->Draw(); y2=y2-0.04; y1=y1-0.04; TLegend *leg3=new TLegend(x1,y1,x2,y2); leg3->AddEntry(frame,"Bot-Bef","p"); leg3->SetTextColor(1); leg3->SetFillColor(417); leg3->SetTextSize(label_font); leg3->Draw(); y2=y2-0.04; y1=y1-0.04; //P x1=0.8,y1=0.15,x2=x1+0.08,y2=0.18; TH2F *environ3 = new TH2F("environ3","environ3",unixtime_bin,start,finish,p_bin,p_min,p_max); environ3->SetMarkerColor(864); environ3->SetMarkerStyle(31); environ3->SetMarkerSize(1); Sensors_p = new TCanvas("Sensors3","Pressure",0,0,800,800); TH2F *sens3 = new TH2F("sens3","",unixtime_bin,start,finish,p_bin,p_min,p_max); sens3->SetTitle("Env P"); sens3->GetXaxis()->SetTitleOffset(axis_offset); sens3->GetXaxis()->SetTimeDisplay(1); sens3->GetXaxis()->SetTimeFormat("%Y %m %d %H:%M %F 1970-01-01 00:00:00"); sens3->GetXaxis()->SetNdivisions(time_bin); sens3->GetXaxis()->SetLabelSize(label_size); sens3->GetXaxis()->SetTitle("time"); sens3->GetYaxis()->SetTitleOffset(axis_offset); sens3->GetYaxis()->SetLabelSize(label_size); sens3->GetYaxis()->SetTitle("p [mbar]"); gPad->SetGrid(); GGM->Draw("env_p:Unixtime>>environ3","Channel==1"); sens3->Draw(""); environ3->Draw("same"); TLegend *leg7=new TLegend(x1,y1,x2,y2); leg7->AddEntry(frame,"p ENV","p"); leg7->SetFillColor(864); leg7->SetTextColor(0); leg7->SetTextSize(label_font); leg7->Draw(); TFile isto("plots.root","RECREATE"); Chamber1_charge->Write(); Chamber2_charge->Write(); Chamber3_charge->Write(); Sensors_p->Write(); FrameXwp->Write(); }