File indexing completed on 2024-04-06 12:22:51
0001 void saturationMacro(){
0002 gROOT->SetBatch();
0003 gROOT->ProcessLine(".L GenFuncMacro.C");
0004
0005
0006
0007 char *myFileName;
0008 char *myFilePath;
0009 void *dirp = gSystem->OpenDirectory("/tmp/csccalib");
0010 char *afile;
0011 while(afile = gSystem->GetDirEntry(dirp)) {
0012 char *bfile[0] = afile[0];
0013 if (bfile[0]=='c') {
0014 printf("file: %s\n",afile);
0015 myFileName = afile;
0016 }
0017 myFilePath = Form("/tmp/csccalib/%s", myFileName);
0018 }
0019
0020
0021 int nDDU = 1;
0022 int nCham = 1;
0023 int nLayer = 6;
0024
0025
0026 gStyle->SetCanvasColor(0);
0027 gStyle->SetPadColor(0);
0028 gStyle->SetPadBorderMode(0);
0029 gStyle->SetCanvasBorderMode(0);
0030 gStyle->SetFrameBorderMode(0);
0031 gStyle->SetStatH(0.2);
0032 gStyle->SetStatW(0.3);
0033
0034 std::cout << "opening: " << myFileName << std::endl;
0035 TFile *myFile = TFile::Open(myFilePath);
0036
0037 Calibration->Draw("cham");
0038 int nCham = htemp->GetXaxis()->GetXmax();
0039
0040
0041
0042 gSystem->cd("/afs/cern.ch/cms/CSC/html/csccalib/");
0043
0044
0045 directoryCheck();
0046
0047 makeDirectory("images");
0048 gSystem->cd("images");
0049
0050 makeDirectory("Saturation");
0051 gSystem->cd("Saturation");
0052
0053 makeDirectory(fileName);
0054 gSystem->cd(fileName);
0055 gSystem->cd("../../../");
0056
0057
0058 directoryCheck();
0059
0060 myFile->Close();
0061
0062 gSytle->SetOptStat(0);
0063 GetSaturation(myFileName, myFilePath);
0064 GetSaturationGraphs(myFileName, myFilePath, nDDU, nCham);
0065 gSytle->SetOptStat(1);
0066
0067 directoryCheck();
0068 gSystem->cd("/afs/cern.ch/user/c/csccalib/scratch0/CMSSW_1_1_1/src/OnlineDB/CSCCondDB/test");
0069 gROOT->ProcessLine(".q");
0070 }
0071
0072
0073
0074
0075
0076
0077 void GetChamberIDs(int IDArray[9]){
0078 TCanvas *IDcanv = new TCanvas ("idGraph", "idGraph");
0079 IDcanv->cd();
0080 TH1F *idDummy = new TH1F("idDummy", "idDummy", 10, 220000000, 221000000);
0081 idDummy->Draw();
0082 for (int chamber=0; chamber<9; ++chamber){
0083 TString idCut = Form ("cham==%d", chamber);
0084 Calibration->Project("idDummy", "id", idCut);
0085 Int_t idNum = idDummy->GetMean();
0086 IDArray[chamber]=idNum;
0087 }
0088 }
0089
0090 GetSaturation(TString myFileName, TString myFilePath){
0091 gSystem->cd("images/Saturation");
0092 gSystem->cd(fileName);
0093 TFile *myFile = TFile::Open(myFilePath);
0094
0095 TH1F *Saturation;
0096 TCanvas *SaturationCanvas = new TCanvas("SaturationVsCharge", "SaturationVsCharge",1100,700);
0097 Saturation = (TH1F*)myFile->Get("Saturation");
0098 SaturationCanvas->cd();
0099 Saturation->GetXaxis()->SetTitle("Charge");
0100 Saturation->GetYaxis()->SetTitle("ADC");
0101 Saturation->Draw();
0102 SaturationCanvas->Update();
0103 PrintAsGif(SaturationCanvas, "SaturationVsCharge");
0104 gSystem->cd("../../../");
0105 directoryCheck();
0106 myFile->Close();
0107 }
0108
0109 GetSaturationGraphs(TString myFileName, TString myFilePath, int nDDU, int nCham){
0110 gSystem->cd("images/Saturation");
0111 gSystem->cd(fileName);
0112 makeDirectory("ChamberGraphs");
0113 gSystem->cd("ChamberGraphs");
0114 TFile *myFile = TFile::Open(myFilePath);
0115 TH1F *SaturationGraph;
0116 TCanvas *SaturationGraphsCanvas;
0117 for (int i=0; i<nDDU; ++i){
0118 int idArray[9];
0119 GetChamberIDs(idArray);
0120 for (int j=0; j<nCham; ++j){
0121 TString SaturationGraphsCanvasName = Form("SaturationVSCharge_Chamber_%d",idArray[j]);
0122 SaturationGraphsCanvas = new TCanvas(SaturationGraphsCanvasName, SaturationGraphsCanvasName, 1100,700);
0123 SaturationGraphsCanvas->Divide(2,3);
0124 for (int k=1; k<6; ++k){
0125 TString SatGraphName = Form ("Saturation%d%d",j,k);
0126 SaturationGraph = (TH1F*)myFile->Get(SatGraphName);
0127 SaturationGraphsCanvas->cd(k);
0128 SaturationGraph->GetXaxis()->SetTitle("Charge");
0129 SaturationGraph->GetYaxis()->SetTitle("ADC");
0130 SaturationGraph->GetXaxis()->SetTitleSize(0.06);
0131 SaturationGraph->GetXaxis()->SetTitleOffset(0.7);
0132 SaturationGraph->GetYaxis()->SetTitleSize(0.06);
0133 SaturationGraph->GetYaxis()->SetTitleOffset(0.7);
0134 SaturationGraph->GetXaxis()->SetLabelSize(0.06);
0135 SaturationGraph->GetYaxis()->SetLabelSize(0.06);
0136 SaturationGraph->SetMarkerStyle(20);
0137 SaturationGraph->SetMarkerSize(0.8);
0138 SaturationGraph->Draw();
0139 }
0140 SaturationGraphsCanvas->Update();
0141 PrintAsGif(SaturationGraphsCanvas, SaturationGraphsCanvasName);
0142 }
0143 }
0144 myFile->Close();
0145 gSystem->cd("../../../../");
0146 directoryCheck();
0147 }