| 1 | #include <Calib1_Ac1Event.h> | 
| 2 | #include <Calib1_Ac2Event.h> | 
| 3 | #include <Calib2_Ac1Event.h> | 
| 4 | #include <Calib2_Ac2Event.h> | 
| 5 | #include <PscuHeader.h> | 
| 6 | #include <EventHeader.h> | 
| 7 |  | 
| 8 | #include <fstream> | 
| 9 |  | 
| 10 | #include <TCanvas.h> | 
| 11 | #include <TLatex.h> | 
| 12 | #include <TLegend.h> | 
| 13 | #include <TLine.h> | 
| 14 | #include <TTree.h> | 
| 15 | #include <TStyle.h> | 
| 16 | #include <TObjString.h> | 
| 17 |  | 
| 18 | #include <yodaUtility.h> | 
| 19 | #define DEBUG 0 | 
| 20 |  | 
| 21 |  | 
| 22 | using namespace std; | 
| 23 |  | 
| 24 | /* | 
| 25 | * Anticounter calibration quicklook | 
| 26 | * Plots calibration curves done with LEDs and the extra calibration with random triggers | 
| 27 | * | 
| 28 | * author  Petter Hofverberg | 
| 29 | * version 1.0 | 
| 30 | * | 
| 31 | */ | 
| 32 |  | 
| 33 |  | 
| 34 | void AcCALIB(TString base, Int_t nCal1 = 0, TString outDir = "./", TString format = "ps"){ | 
| 35 | Int_t         tmpSize; | 
| 36 | ofstream      outputFile; | 
| 37 | stringstream  oss; | 
| 38 |  | 
| 39 | pamela::Calib2_Ac1Event       *ace1           = 0; | 
| 40 | pamela::Calib2_Ac2Event       *ace2           = 0; | 
| 41 | pamela::EventHeader           *eh             = 0; | 
| 42 | pamela::PscuHeader            *ph             = 0; | 
| 43 | TFile                         *rootFile       = new TFile(base); | 
| 44 |  | 
| 45 | if (rootFile->IsZombie()) printf("The %s file does not exist", base.Data()); | 
| 46 | TString fileName = ((TObjString*)base.Tokenize('\/')->Last())->GetString(); | 
| 47 | TString filePath = base; | 
| 48 | filePath.ReplaceAll(fileName, ""); | 
| 49 | fileName.ReplaceAll(".root", ""); | 
| 50 |  | 
| 51 | //Takes the tree of the header file | 
| 52 | TTree *tr = (TTree*)rootFile->Get("Calib2_Ac1"); | 
| 53 | tr->AddFriend("Calib2_Ac2"); | 
| 54 |  | 
| 55 | tr->SetBranchAddress("Calib2_Ac1", &ace1); | 
| 56 | tr->SetBranchAddress("Calib2_Ac2", &ace2); | 
| 57 | tr->SetBranchAddress("Header", &eh); | 
| 58 | Long64_t nevents    = tr->GetEntries(); | 
| 59 |  | 
| 60 | //cout << "Events: " << nevents << endl; | 
| 61 | /******************Book histograms**********************************************/ | 
| 62 |  | 
| 63 | TString *mtitel = new TString[16]; | 
| 64 | mtitel[0]="CARD 4"; | 
| 65 | mtitel[1]="CAT 2"; | 
| 66 | mtitel[2]="CAS 1"; | 
| 67 | mtitel[3]="NC"; | 
| 68 | mtitel[4]="CARD 2"; | 
| 69 | mtitel[5]="CAT 4"; | 
| 70 | mtitel[6]="CAS 4"; | 
| 71 | mtitel[7]="NC"; | 
| 72 | mtitel[8]="CARD 3"; | 
| 73 | mtitel[9]="CAT 3"; | 
| 74 | mtitel[10]="CAS 3"; | 
| 75 | mtitel[11]="NC"; | 
| 76 | mtitel[12]="CARD 1"; | 
| 77 | mtitel[13]="CAT 1"; | 
| 78 | mtitel[14]="CAS 2"; | 
| 79 | mtitel[15]="NC"; | 
| 80 |  | 
| 81 | TString *etitel = new TString[16]; | 
| 82 | etitel[0]="CARD 4"; | 
| 83 | etitel[1]="CAT 2"; | 
| 84 | etitel[2]="CAS 1"; | 
| 85 | etitel[3]="NC"; | 
| 86 | etitel[4]="CARD 2"; | 
| 87 | etitel[5]="CAT 4"; | 
| 88 | etitel[6]="CAS 4"; | 
| 89 | etitel[7]="NC"; | 
| 90 | etitel[8]="CARD 3"; | 
| 91 | etitel[9]="CAT 3"; | 
| 92 | etitel[10]="CAS 3"; | 
| 93 | etitel[11]="NC"; | 
| 94 | etitel[12]="CARD 1"; | 
| 95 | etitel[13]="CAT 1"; | 
| 96 | etitel[14]="CAS 2"; | 
| 97 | etitel[15]="NC"; | 
| 98 |  | 
| 99 | TH1D *DAC1_m = new TH1D("DAC values after curve 1 MAIN","DAC values after curve 1 MAIN",16,0,16); | 
| 100 | DAC1_m->GetXaxis()->SetBinLabel(1,mtitel[0]); | 
| 101 | DAC1_m->GetXaxis()->SetBinLabel(2,mtitel[1]); | 
| 102 | DAC1_m->GetXaxis()->SetBinLabel(3,mtitel[2]); | 
| 103 | DAC1_m->GetXaxis()->SetBinLabel(4,mtitel[3]); | 
| 104 | DAC1_m->GetXaxis()->SetBinLabel(5,mtitel[4]); | 
| 105 | DAC1_m->GetXaxis()->SetBinLabel(6,mtitel[5]); | 
| 106 | DAC1_m->GetXaxis()->SetBinLabel(7,mtitel[6]); | 
| 107 | DAC1_m->GetXaxis()->SetBinLabel(8,mtitel[7]); | 
| 108 | DAC1_m->GetXaxis()->SetBinLabel(9,mtitel[8]); | 
| 109 | DAC1_m->GetXaxis()->SetBinLabel(10,mtitel[9]); | 
| 110 | DAC1_m->GetXaxis()->SetBinLabel(11,mtitel[10]); | 
| 111 | DAC1_m->GetXaxis()->SetBinLabel(12,mtitel[11]); | 
| 112 | DAC1_m->GetXaxis()->SetBinLabel(13,mtitel[12]); | 
| 113 | DAC1_m->GetXaxis()->SetBinLabel(14,mtitel[13]); | 
| 114 | DAC1_m->GetXaxis()->SetBinLabel(15,mtitel[14]); | 
| 115 | DAC1_m->GetXaxis()->SetBinLabel(16,mtitel[15]); | 
| 116 | DAC1_m->GetYaxis()->SetTitle("Steps"); | 
| 117 |  | 
| 118 | TH1D *DAC2_m = new TH1D("DAC values after curve 2 MAIN","DAC values after curve 2 MAIN",16,0,16); | 
| 119 | DAC2_m->GetXaxis()->SetBinLabel(1,mtitel[0]); | 
| 120 | DAC2_m->GetXaxis()->SetBinLabel(2,mtitel[1]); | 
| 121 | DAC2_m->GetXaxis()->SetBinLabel(3,mtitel[2]); | 
| 122 | DAC2_m->GetXaxis()->SetBinLabel(4,mtitel[3]); | 
| 123 | DAC2_m->GetXaxis()->SetBinLabel(5,mtitel[4]); | 
| 124 | DAC2_m->GetXaxis()->SetBinLabel(6,mtitel[5]); | 
| 125 | DAC2_m->GetXaxis()->SetBinLabel(7,mtitel[6]); | 
| 126 | DAC2_m->GetXaxis()->SetBinLabel(8,mtitel[7]); | 
| 127 | DAC2_m->GetXaxis()->SetBinLabel(9,mtitel[8]); | 
| 128 | DAC2_m->GetXaxis()->SetBinLabel(10,mtitel[9]); | 
| 129 | DAC2_m->GetXaxis()->SetBinLabel(11,mtitel[10]); | 
| 130 | DAC2_m->GetXaxis()->SetBinLabel(12,mtitel[11]); | 
| 131 | DAC2_m->GetXaxis()->SetBinLabel(13,mtitel[12]); | 
| 132 | DAC2_m->GetXaxis()->SetBinLabel(14,mtitel[13]); | 
| 133 | DAC2_m->GetXaxis()->SetBinLabel(15,mtitel[14]); | 
| 134 | DAC2_m->GetXaxis()->SetBinLabel(16,mtitel[15]); | 
| 135 | DAC2_m->GetYaxis()->SetTitle("Steps"); | 
| 136 |  | 
| 137 | TH1D *DAC1_e = new TH1D("DAC values after curve 1 EXTRA","DAC values after curve 1 EXTRA",16,0,16); | 
| 138 | DAC1_e->GetXaxis()->SetBinLabel(1,mtitel[0]); | 
| 139 | DAC1_e->GetXaxis()->SetBinLabel(2,mtitel[1]); | 
| 140 | DAC1_e->GetXaxis()->SetBinLabel(3,mtitel[2]); | 
| 141 | DAC1_e->GetXaxis()->SetBinLabel(4,mtitel[3]); | 
| 142 | DAC1_e->GetXaxis()->SetBinLabel(5,mtitel[4]); | 
| 143 | DAC1_e->GetXaxis()->SetBinLabel(6,mtitel[5]); | 
| 144 | DAC1_e->GetXaxis()->SetBinLabel(7,mtitel[6]); | 
| 145 | DAC1_e->GetXaxis()->SetBinLabel(8,mtitel[7]); | 
| 146 | DAC1_e->GetXaxis()->SetBinLabel(9,mtitel[8]); | 
| 147 | DAC1_e->GetXaxis()->SetBinLabel(10,mtitel[9]); | 
| 148 | DAC1_e->GetXaxis()->SetBinLabel(11,mtitel[10]); | 
| 149 | DAC1_e->GetXaxis()->SetBinLabel(12,mtitel[11]); | 
| 150 | DAC1_e->GetXaxis()->SetBinLabel(13,mtitel[12]); | 
| 151 | DAC1_e->GetXaxis()->SetBinLabel(14,mtitel[13]); | 
| 152 | DAC1_e->GetXaxis()->SetBinLabel(15,mtitel[14]); | 
| 153 | DAC1_e->GetXaxis()->SetBinLabel(16,mtitel[15]); | 
| 154 | DAC1_e->GetYaxis()->SetTitle("Steps"); | 
| 155 |  | 
| 156 | TH1D *DAC2_e = new TH1D("DAC values after curve 2 EXTRA","DAC values after curve 2 EXTRA",16,0,16); | 
| 157 | DAC2_e->GetXaxis()->SetBinLabel(1,mtitel[0]); | 
| 158 | DAC2_e->GetXaxis()->SetBinLabel(2,mtitel[1]); | 
| 159 | DAC2_e->GetXaxis()->SetBinLabel(3,mtitel[2]); | 
| 160 | DAC2_e->GetXaxis()->SetBinLabel(4,mtitel[3]); | 
| 161 | DAC2_e->GetXaxis()->SetBinLabel(5,mtitel[4]); | 
| 162 | DAC2_e->GetXaxis()->SetBinLabel(6,mtitel[5]); | 
| 163 | DAC2_e->GetXaxis()->SetBinLabel(7,mtitel[6]); | 
| 164 | DAC2_e->GetXaxis()->SetBinLabel(8,mtitel[7]); | 
| 165 | DAC2_e->GetXaxis()->SetBinLabel(9,mtitel[8]); | 
| 166 | DAC2_e->GetXaxis()->SetBinLabel(10,mtitel[9]); | 
| 167 | DAC2_e->GetXaxis()->SetBinLabel(11,mtitel[10]); | 
| 168 | DAC2_e->GetXaxis()->SetBinLabel(12,mtitel[11]); | 
| 169 | DAC2_e->GetXaxis()->SetBinLabel(13,mtitel[12]); | 
| 170 | DAC2_e->GetXaxis()->SetBinLabel(14,mtitel[13]); | 
| 171 | DAC2_e->GetXaxis()->SetBinLabel(15,mtitel[14]); | 
| 172 | DAC2_e->GetXaxis()->SetBinLabel(16,mtitel[15]); | 
| 173 | DAC2_e->GetYaxis()->SetTitle("Steps"); | 
| 174 |  | 
| 175 | TH1D *DAC1_m2 = new TH1D("DAC values after curve 1 MAIN 2","DAC values after curve 1 MAIN 2",16,0,16); | 
| 176 | TH1D *DAC2_m2 = new TH1D("DAC values after curve 2 MAIN 2","DAC values after curve 2 MAIN 2",16,0,16); | 
| 177 | TH1D *DAC1_e2 = new TH1D("DAC values after curve 1 EXTRA 2","DAC values after curve 1 EXTRA 2",16,0,16); | 
| 178 | TH1D *DAC2_e2 = new TH1D("DAC values after curve 2 EXTRA 2","DAC values after curve 2 EXTRA 2",16,0,16); | 
| 179 |  | 
| 180 | TH1D *Calo_trigg_m  = new TH1D("Calo_trigg_hits_m","Hits in each channel at Calorimeter triggers MAIN",17,0.,17.); | 
| 181 | Calo_trigg_m->GetXaxis()->SetBinLabel(1,"#triggers"); | 
| 182 | Calo_trigg_m->GetXaxis()->SetBinLabel(2,mtitel[0]); | 
| 183 | Calo_trigg_m->GetXaxis()->SetBinLabel(3,mtitel[1]); | 
| 184 | Calo_trigg_m->GetXaxis()->SetBinLabel(4,mtitel[2]); | 
| 185 | Calo_trigg_m->GetXaxis()->SetBinLabel(5,mtitel[3]); | 
| 186 | Calo_trigg_m->GetXaxis()->SetBinLabel(6,mtitel[4]); | 
| 187 | Calo_trigg_m->GetXaxis()->SetBinLabel(7,mtitel[5]); | 
| 188 | Calo_trigg_m->GetXaxis()->SetBinLabel(8,mtitel[6]); | 
| 189 | Calo_trigg_m->GetXaxis()->SetBinLabel(9,mtitel[7]); | 
| 190 | Calo_trigg_m->GetXaxis()->SetBinLabel(10,mtitel[8]); | 
| 191 | Calo_trigg_m->GetXaxis()->SetBinLabel(11,mtitel[9]); | 
| 192 | Calo_trigg_m->GetXaxis()->SetBinLabel(12,mtitel[10]); | 
| 193 | Calo_trigg_m->GetXaxis()->SetBinLabel(13,mtitel[11]); | 
| 194 | Calo_trigg_m->GetXaxis()->SetBinLabel(14,mtitel[12]); | 
| 195 | Calo_trigg_m->GetXaxis()->SetBinLabel(15,mtitel[13]); | 
| 196 | Calo_trigg_m->GetXaxis()->SetBinLabel(16,mtitel[14]); | 
| 197 | Calo_trigg_m->GetXaxis()->SetBinLabel(17,mtitel[15]); | 
| 198 | Calo_trigg_m->GetYaxis()->SetTitle("Hits"); | 
| 199 |  | 
| 200 |  | 
| 201 | TH1D *Calo_trigg_e  = new TH1D("Calo_trigg_hits_e","Hits in each channel at Calorimeter triggers EXTRA",17,0.,17.); | 
| 202 | Calo_trigg_e->GetXaxis()->SetBinLabel(1,"#triggers"); | 
| 203 | Calo_trigg_e->GetXaxis()->SetBinLabel(2,etitel[0]); | 
| 204 | Calo_trigg_e->GetXaxis()->SetBinLabel(3,etitel[1]); | 
| 205 | Calo_trigg_e->GetXaxis()->SetBinLabel(4,etitel[2]); | 
| 206 | Calo_trigg_e->GetXaxis()->SetBinLabel(5,etitel[3]); | 
| 207 | Calo_trigg_e->GetXaxis()->SetBinLabel(6,etitel[4]); | 
| 208 | Calo_trigg_e->GetXaxis()->SetBinLabel(7,etitel[5]); | 
| 209 | Calo_trigg_e->GetXaxis()->SetBinLabel(8,etitel[6]); | 
| 210 | Calo_trigg_e->GetXaxis()->SetBinLabel(9,etitel[7]); | 
| 211 | Calo_trigg_e->GetXaxis()->SetBinLabel(10,etitel[8]); | 
| 212 | Calo_trigg_e->GetXaxis()->SetBinLabel(11,etitel[9]); | 
| 213 | Calo_trigg_e->GetXaxis()->SetBinLabel(12,etitel[10]); | 
| 214 | Calo_trigg_e->GetXaxis()->SetBinLabel(13,etitel[11]); | 
| 215 | Calo_trigg_e->GetXaxis()->SetBinLabel(14,etitel[12]); | 
| 216 | Calo_trigg_e->GetXaxis()->SetBinLabel(15,etitel[13]); | 
| 217 | Calo_trigg_e->GetXaxis()->SetBinLabel(16,etitel[14]); | 
| 218 | Calo_trigg_e->GetXaxis()->SetBinLabel(17,etitel[15]); | 
| 219 | Calo_trigg_e->GetYaxis()->SetTitle("Hits"); | 
| 220 |  | 
| 221 | TH1D *Calo_trigg_m2  = new TH1D("Calo_trigg_hits_m2","Hits in each channel at Calorimeter triggers MAIN",17,0.,17.); | 
| 222 | Calo_trigg_m2->GetXaxis()->SetTitle("Channel"); | 
| 223 | Calo_trigg_m2->GetYaxis()->SetTitle("Hits"); | 
| 224 |  | 
| 225 | TH1D *Calo_trigg_e2  = new TH1D("Calo_trigg_hits_e2","Hits in each channel at Calorimeter triggers EXTRA",17,0.,17.); | 
| 226 | Calo_trigg_e2->GetXaxis()->SetTitle("Event"); | 
| 227 | Calo_trigg_e2->GetYaxis()->SetTitle("Channel"); | 
| 228 |  | 
| 229 | //for(Int_t k = 0; k < nevents; k++){ | 
| 230 |  | 
| 231 |  | 
| 232 | //l = new TLine(.056,.056,0.,6000.); | 
| 233 | //l.SetLineColor(2); | 
| 234 | //l->Draw(); | 
| 235 |  | 
| 236 | //create histograms | 
| 237 | //MAIN board | 
| 238 | TH1D *CAS1M = new TH1D("CAS1 (MAIN), PMT 124","CAS1 (MAIN), PMT124",256,0.,1.); | 
| 239 | CAS1M->GetXaxis()->SetTitle("DAC [V]"); | 
| 240 | CAS1M->GetYaxis()->SetTitle("Events"); | 
| 241 | TH1D *CAS2M = new TH1D("CAS2 (EXTRA), PMT 137","CAS2 (EXTRA), PMT137",256,0.,1.); | 
| 242 | CAS2M->GetXaxis()->SetTitle("DAC [V]"); | 
| 243 | CAS2M->GetYaxis()->SetTitle("Events"); | 
| 244 | TH1D *CAS3M = new TH1D("CAS3 (MAIN), PMT 109","CAS3 (MAIN), PMT109",256,0.,1.); | 
| 245 | CAS3M->GetXaxis()->SetTitle("DAC [V]"); | 
| 246 | CAS3M->GetYaxis()->SetTitle("Events"); | 
| 247 | TH1D *CAS4M = new TH1D("CAS4 (EXTRA), PMT 122","CAS4 (EXTRA), PMT122",256,0.,1.); | 
| 248 | CAS4M->GetXaxis()->SetTitle("DAC [V]"); | 
| 249 | CAS4M->GetYaxis()->SetTitle("Events"); | 
| 250 |  | 
| 251 | TH1D *CARD1M = new TH1D("CARD1 (MAIN), PMT 065","CARD1 (MAIN), PMT065",256,0.,1.); | 
| 252 | CARD1M->GetXaxis()->SetTitle("DAC [V]"); | 
| 253 | CARD1M->GetYaxis()->SetTitle("Events"); | 
| 254 | TH1D *CARD2M = new TH1D("CARD2 (MAIN), PMT 059","CARD2 (MAIN), PMT059",256,0.,1.); | 
| 255 | CARD2M->GetXaxis()->SetTitle("DAC [V]"); | 
| 256 | CARD2M->GetYaxis()->SetTitle("Events"); | 
| 257 | TH1D *CARD3M = new TH1D("CARD3 (EXTRA), PMT 053","CARD3 (EXTRA), PMT053",256,0.,1.); | 
| 258 | CARD3M->GetXaxis()->SetTitle("DAC [V]"); | 
| 259 | CARD3M->GetYaxis()->SetTitle("Events"); | 
| 260 | TH1D *CARD4M = new TH1D("CARD4 (EXTRA), PMT 055","CARD4 (EXTRA), PMT055",256,0.,1.); | 
| 261 | CARD4M->GetXaxis()->SetTitle("DAC [V]"); | 
| 262 | CARD4M->GetYaxis()->SetTitle("Events"); | 
| 263 |  | 
| 264 | TH1D *CAT1M = new TH1D("CAT1 (MAIN), PMT 134","CAT1 (MAIN), PMT134",256,0.,1.); | 
| 265 | CAT1M->GetXaxis()->SetTitle("DAC [V]"); | 
| 266 | CAT1M->GetYaxis()->SetTitle("Events"); | 
| 267 | TH1D *CAT2M = new TH1D("CAT2 (MAIN), PMT 136","CAT2 (MAIN), PMT136",256,0.,1.); | 
| 268 | CAT2M->GetXaxis()->SetTitle("DAC [V]"); | 
| 269 | CAT2M->GetYaxis()->SetTitle("Events"); | 
| 270 | TH1D *CAT3M = new TH1D("CAT3 (MAIN), PMT 101","CAT3 (MAIN), PMT101",256,0.,1.); | 
| 271 | CAT3M->GetXaxis()->SetTitle("DAC [V]"); | 
| 272 | CAT3M->GetYaxis()->SetTitle("Events"); | 
| 273 | TH1D *CAT4M = new TH1D("CAT4 (MAIN), PMT 132","CAT4 (MAIN), PMT132",256,0.,1.); | 
| 274 | CAT4M->GetXaxis()->SetTitle("DAC [V]"); | 
| 275 | CAT4M->GetYaxis()->SetTitle("Events"); | 
| 276 |  | 
| 277 | //EXTRA board | 
| 278 | TH1D *CAS1E = new TH1D("CAS1 (MAIN), PMT 135","CAS1 (MAIN), PMT135",256,0.,1.); | 
| 279 | CAS1E->GetXaxis()->SetTitle("DAC [V]"); | 
| 280 | CAS1E->GetYaxis()->SetTitle("Events"); | 
| 281 | TH1D *CAS2E = new TH1D("CAS2 (EXTRA), PMT 105","CAS2 (EXTRA), PMT105",256,0.,1.); | 
| 282 | CAS2E->GetXaxis()->SetTitle("DAC [V]"); | 
| 283 | CAS2E->GetYaxis()->SetTitle("Events"); | 
| 284 | TH1D *CAS3E = new TH1D("CAS3 (MAIN), PMT 161","CAS3 (MAIN), PMT161",256,0.,1.); | 
| 285 | CAS3E->GetXaxis()->SetTitle("DAC [V]"); | 
| 286 | CAS3E->GetYaxis()->SetTitle("Events"); | 
| 287 | TH1D *CAS4E = new TH1D("CAS4 (EXTRA), PMT 160","CAS4 (EXTRA), PMT160",256,0.,1.); | 
| 288 | CAS4E->GetXaxis()->SetTitle("DAC [V]"); | 
| 289 | CAS4E->GetYaxis()->SetTitle("Events"); | 
| 290 |  | 
| 291 | TH1D *CARD1E = new TH1D("CARD1 (MAIN), PMT 063","CARD1 (MAIN), PMT063",256,0.,1.); | 
| 292 | CARD1E->GetXaxis()->SetTitle("DAC [V]"); | 
| 293 | CARD1E->GetYaxis()->SetTitle("Events"); | 
| 294 | TH1D *CARD2E = new TH1D("CARD2 (MAIN), PMT 037","CARD2 (MAIN), PMT037",256,0.,1.); | 
| 295 | CARD2E->GetXaxis()->SetTitle("DAC [V]"); | 
| 296 | CARD2E->GetYaxis()->SetTitle("Events"); | 
| 297 | TH1D *CARD3E = new TH1D("CARD3 (EXTRA), PMT 062","CARD3 (EXTRA), PMT062",256,0.,1.); | 
| 298 | CARD3E->GetXaxis()->SetTitle("DAC [V]"); | 
| 299 | CARD3E->GetYaxis()->SetTitle("Events"); | 
| 300 | TH1D *CARD4E = new TH1D("CARD4 (EXTRA), PMT 057","CARD4 (EXTRA), PMT057",256,0.,1.); | 
| 301 | CARD4E->GetXaxis()->SetTitle("DAC [V]"); | 
| 302 | CARD4E->GetYaxis()->SetTitle("Events"); | 
| 303 |  | 
| 304 | TH1D *CAT1E = new TH1D("CAT1 (MAIN), PMT 100","CAT1 (MAIN), PMT100",256,0.,1.); | 
| 305 | CAT1E->GetXaxis()->SetTitle("DAC [V]"); | 
| 306 | CAT1E->GetYaxis()->SetTitle("Events"); | 
| 307 | TH1D *CAT2E = new TH1D("CAT2 (MAIN), PMT 103","CAT2 (MAIN), PMT103",256,0.,1.); | 
| 308 | CAT2E->GetXaxis()->SetTitle("DAC [V]"); | 
| 309 | CAT2E->GetYaxis()->SetTitle("Events"); | 
| 310 | TH1D *CAT3E = new TH1D("CAT3 (MAIN), PMT 139","CAT3 (MAIN), PMT139",256,0.,1.); | 
| 311 | CAT3E->GetXaxis()->SetTitle("DAC [V]"); | 
| 312 | CAT3E->GetYaxis()->SetTitle("Events"); | 
| 313 | TH1D *CAT4E = new TH1D("CAT4 (MAIN), PMT 097","CAT4 (MAIN), PMT097",256,0.,1.); | 
| 314 | CAT4E->GetXaxis()->SetTitle("DAC [V]"); | 
| 315 | CAT4E->GetYaxis()->SetTitle("Events"); | 
| 316 |  | 
| 317 |  | 
| 318 | //Long64_t nevents    = tr->GetEntries(); | 
| 319 | Double_t    mintime    = tr->GetMinimum("Pscu.OrbitalTime"); | 
| 320 | Double_t    maxtime    = tr->GetMaximum("Pscu.OrbitalTime"); | 
| 321 | Double_t    nbintime   = (maxtime-mintime)/1000.; | 
| 322 |  | 
| 323 | /*******************Declarations*****************/ | 
| 324 |  | 
| 325 | const Int_t size = nevents; | 
| 326 | Double_t time; | 
| 327 | UShort_t cnt = 1; | 
| 328 |  | 
| 329 | UShort_t Curve1[2][4096]; | 
| 330 | UShort_t Curve2[2][4096]; | 
| 331 | UShort_t hitmap_tr[2][16]; | 
| 332 | UShort_t n_tr[2]; | 
| 333 | UShort_t DAC1[2][8]; | 
| 334 | UShort_t DAC2[2][8]; | 
| 335 |  | 
| 336 | /*************************************************/ | 
| 337 |  | 
| 338 | //Go through all events and update histograms and plots | 
| 339 | //for (Int_t i = 0; i < nevents; i++){ | 
| 340 | //for (Int_t i = 0; i < 1; i++){ | 
| 341 | Int_t i = 0; | 
| 342 | ph = eh->GetPscuHeader(); | 
| 343 | time = ph->GetOrbitalTime(); | 
| 344 | tr->GetEntry(nCal1); | 
| 345 |  | 
| 346 | for(Int_t j = 0; j < 16; j++) | 
| 347 | hitmap_tr[0][j] = ace1->hitmap_tr[j]; | 
| 348 | for(Int_t j = 0; j < 4096; j++){ | 
| 349 | Curve1[0][j] = ace1->curve1[j]; | 
| 350 | Curve2[0][j] = ace1->curve2[j]; | 
| 351 | } | 
| 352 | for(Int_t j = 0;j<8;j++){ | 
| 353 | DAC1[0][j] = ace1->DAC1[j]; | 
| 354 | DAC2[0][j] = ace1->DAC1[j]; | 
| 355 | DAC1[1][j] = ace2->DAC1[j]; | 
| 356 | DAC2[1][j] = ace2->DAC1[j]; | 
| 357 | } | 
| 358 | n_tr[0] = ace1->n_tr; | 
| 359 |  | 
| 360 |  | 
| 361 | for(Int_t j = 0; j < 16; j++) | 
| 362 | hitmap_tr[1][j] = ace2->hitmap_tr[j]; | 
| 363 | for(Int_t j = 0; j < 4096; j++){ | 
| 364 | Curve1[1][j] = ace2->curve1[j]; | 
| 365 | Curve2[1][j] = ace2->curve2[j]; | 
| 366 | } | 
| 367 | n_tr[1] = ace2->n_tr; | 
| 368 | Calo_trigg_m->Fill(0.001,n_tr[0]); | 
| 369 | Calo_trigg_e->Fill(0.001,n_tr[1]); | 
| 370 | for(Int_t j = 0; j < 16; j++){ | 
| 371 | Calo_trigg_m->Fill(j+1,hitmap_tr[0][j]); | 
| 372 | Calo_trigg_e->Fill(j+1,hitmap_tr[1][j]); | 
| 373 | } | 
| 374 |  | 
| 375 | for(Int_t j = 0; j < 8; j++){ | 
| 376 | DAC1_m->Fill(j*2,(DAC1[0][0] & 0x00FF)); | 
| 377 | DAC1_m->Fill(j*2+1,(DAC1[0][0] & 0xFF00)/256); | 
| 378 | DAC2_m->Fill(j*2,(DAC2[0][0] & 0x00FF)); | 
| 379 | DAC2_m->Fill(j*2+1,(DAC2[0][0] & 0xFF00)/256); | 
| 380 | DAC1_e->Fill(j*2,(DAC1[1][0] & 0x00FF)); | 
| 381 | DAC1_e->Fill(j*2+1,(DAC1[1][0] & 0xFF00)/256); | 
| 382 | DAC2_e->Fill(j*2,(DAC2[1][0] & 0x00FF)); | 
| 383 | DAC2_e->Fill(j*2+1,(DAC2[1][0] & 0xFF00)/256); | 
| 384 | } | 
| 385 | for(Int_t j=0;j<256;j++){ | 
| 386 | CAS1M->Fill(j/256.,Curve1[0][j*16+2]); | 
| 387 | CAS2M->Fill(j/256.,Curve2[0][j*16+14]); | 
| 388 | CAS3M->Fill(j/256.,Curve1[0][j*16+10]); | 
| 389 | CAS4M->Fill(j/256.,Curve2[0][j*16+6]); | 
| 390 |  | 
| 391 | CARD1M->Fill(j/256.,Curve1[0][j*16+12]); | 
| 392 | CARD2M->Fill(j/256.,Curve1[0][j*16+4]); | 
| 393 | CARD3M->Fill(j/256.,Curve2[0][j*16+8]); | 
| 394 | CARD4M->Fill(j/256.,Curve2[0][j*16]); | 
| 395 |  | 
| 396 | CAT1M->Fill(j/256.,Curve1[0][j*16+13]); | 
| 397 | CAT2M->Fill(j/256.,Curve1[0][j*16+1]); | 
| 398 | CAT3M->Fill(j/256.,Curve1[0][j*16+9]); | 
| 399 | CAT4M->Fill(j/256.,Curve1[0][j*16+5]); | 
| 400 |  | 
| 401 | CAS1E->Fill(j/256.,Curve1[1][j*16+2]); | 
| 402 | CAS2E->Fill(j/256.,Curve2[1][j*16+14]); | 
| 403 | CAS3E->Fill(j/256.,Curve1[1][j*16+10]); | 
| 404 | CAS4E->Fill(j/256.,Curve2[1][j*16+6]); | 
| 405 |  | 
| 406 | CARD1E->Fill(j/256.,Curve1[1][j*16+12]); | 
| 407 | CARD2E->Fill(j/256.,Curve1[1][j*16+4]); | 
| 408 | CARD3E->Fill(j/256.,Curve2[1][j*16+8]); | 
| 409 | CARD4E->Fill(j/256.,Curve2[1][j*16]); | 
| 410 |  | 
| 411 | CAT1E->Fill(j/256.,Curve1[1][j*16+13]); | 
| 412 | CAT2E->Fill(j/256.,Curve1[1][j*16+1]); | 
| 413 | CAT3E->Fill(j/256.,Curve1[1][j*16+9]); | 
| 414 | CAT4E->Fill(j/256.,Curve1[1][j*16+5]); | 
| 415 | } | 
| 416 |  | 
| 417 |  | 
| 418 |  | 
| 419 | //Draw histograms | 
| 420 | gStyle->SetOptDate(0); | 
| 421 |  | 
| 422 | //report sheet 2 | 
| 423 | TCanvas *Canv_report1 = new TCanvas("Report sheet 1", "Report sheet 1", 1280, 1024); | 
| 424 | Canv_report1->Range(0,0,100,100); | 
| 425 |  | 
| 426 | char *namn; | 
| 427 | TLatex *t = new TLatex(); | 
| 428 | t->SetTextFont(32); | 
| 429 | t->SetTextColor(1); | 
| 430 | t->SetTextAlign(12); | 
| 431 | t->SetTextSize(0.035); | 
| 432 | namn="Calibration by the MAIN board"; | 
| 433 | t->DrawLatex(35.,95.,namn); | 
| 434 |  | 
| 435 | t->SetTextSize(0.015); | 
| 436 | //t->DrawLatex(75.,98.,mytsf->GetName()); | 
| 437 | t->DrawLatex(75.,98.,base.Data()); | 
| 438 |  | 
| 439 | t->SetTextColor(1); | 
| 440 | t->SetTextSize(0.035); | 
| 441 | namn="CAS"; | 
| 442 | t->DrawLatex(3.,94.,namn); | 
| 443 | namn="CARD"; | 
| 444 | t->DrawLatex(3.,65.,namn); | 
| 445 | namn="CAT"; | 
| 446 | t->DrawLatex(3.,34.,namn); | 
| 447 | TPad *pd1,*pd2,*pd3,*pd4,*pd5,*pd6,*pd7,*pd8,*pd9,*pd10,*pd11,*pd12; | 
| 448 | pd1 = new TPad("pd1","This is pad1",0.,0.68,0.25,.92); | 
| 449 | pd2 = new TPad("pd2","This is pad2",0.25,0.68,0.5,.92); | 
| 450 | pd3 = new TPad("pd3","This is pad3",0.5,0.68,0.75,.92); | 
| 451 | pd4 = new TPad("pd4","This is pad4",0.75,0.68,1.0,.92); | 
| 452 | pd5 = new TPad("pd5","This is pad5",0.,0.37,0.25,0.62); | 
| 453 | pd6 = new TPad("pd6","This is pad6",0.25,0.37,.5,0.62); | 
| 454 | pd7 = new TPad("pd7","This is pad7",0.5,0.37,0.75,0.62); | 
| 455 | pd8 = new TPad("pd8","This is pad8",0.75,0.37,1.0,0.62); | 
| 456 | pd9 = new TPad("pd9","This is pad9",0.0,0.06,0.25,0.31); | 
| 457 | pd10 = new TPad("pd10","This is pad10",0.25,0.06,.5,0.31); | 
| 458 | pd11 = new TPad("pd11","This is pad11",0.5,0.06,0.75,0.31); | 
| 459 | pd12 = new TPad("pd12","This is pad12",0.75,0.06,1.,0.31); | 
| 460 | Canv_report1->cd(); | 
| 461 | pd1->Range(0,0,100,100); | 
| 462 | pd2->Range(0,0,100,100); | 
| 463 | pd3->Range(0,0,100,100); | 
| 464 | pd4->Range(0,0,100,100); | 
| 465 | pd5->Range(0,0,100,100); | 
| 466 | pd6->Range(0,0,100,100); | 
| 467 | pd7->Range(0,0,100,100); | 
| 468 | pd8->Range(0,0,100,100); | 
| 469 | pd9->Range(0,0,100,100); | 
| 470 | pd10->Range(0,0,100,100); | 
| 471 | pd11->Range(0,0,100,100); | 
| 472 | pd12->Range(0,0,100,100); | 
| 473 | //pd13->Range(0,0,100,100); | 
| 474 | //pd14->Range(0,0,100,100); | 
| 475 | //pd15->Range(0,0,100,100); | 
| 476 | //pd16->Range(0,0,100,100); | 
| 477 | pd1->Draw(); | 
| 478 | pd2->Draw(); | 
| 479 | pd3->Draw(); | 
| 480 | pd4->Draw(); | 
| 481 | pd5->Draw(); | 
| 482 | pd6->Draw(); | 
| 483 | pd7->Draw(); | 
| 484 | pd8->Draw(); | 
| 485 | pd9->Draw(); | 
| 486 | pd10->Draw(); | 
| 487 | pd11->Draw(); | 
| 488 | pd12->Draw(); | 
| 489 |  | 
| 490 | pd1->cd(); | 
| 491 | CAS1M->SetLineColor(1); | 
| 492 | CAS1M->Draw(); | 
| 493 | //CAS1E->SetLineColor(2); | 
| 494 | //CAS1E->Draw("SAME"); | 
| 495 | pd2->cd(); | 
| 496 | CAS2M->SetLineColor(1); | 
| 497 | CAS2M->Draw(); | 
| 498 | //CAS2E->SetLineColor(2); | 
| 499 | //CAS2E->Draw("SAME"); | 
| 500 | pd3->cd(); | 
| 501 | CAS3M->SetLineColor(1); | 
| 502 | CAS3M->Draw(); | 
| 503 | //CAS3E->SetLineColor(2); | 
| 504 | //CAS3E->Draw("SAME"); | 
| 505 | pd4->cd(); | 
| 506 | CAS4M->SetLineColor(1); | 
| 507 | CAS4M->Draw(); | 
| 508 | //CAS4E->SetLineColor(2); | 
| 509 | //CAS4E->Draw("SAME"); | 
| 510 |  | 
| 511 | pd5->cd(); | 
| 512 | CARD1M->SetLineColor(1); | 
| 513 | CARD1M->Draw(); | 
| 514 | //CARD1E->SetLineColor(2); | 
| 515 | //CARD1E->Draw("SAME"); | 
| 516 | pd6->cd(); | 
| 517 | CARD2M->SetLineColor(1); | 
| 518 | CARD2M->Draw(); | 
| 519 | //CARD2E->SetLineColor(2); | 
| 520 | //CARD2E->Draw("SAME"); | 
| 521 | pd7->cd(); | 
| 522 | CARD3M->SetLineColor(1); | 
| 523 | CARD3M->Draw(); | 
| 524 | //CARD3E->SetLineColor(2); | 
| 525 | //CARD3E->Draw("SAME"); | 
| 526 | pd8->cd(); | 
| 527 | CARD4M->SetLineColor(1); | 
| 528 | CARD4M->Draw(); | 
| 529 | //CARD4E->SetLineColor(2); | 
| 530 | //CARD4E->Draw("SAME"); | 
| 531 |  | 
| 532 | pd9->cd(); | 
| 533 | CAT1M->SetLineColor(1); | 
| 534 | CAT1M->Draw(); | 
| 535 | //CAT1E->SetLineColor(2); | 
| 536 | //CAT1E->Draw("SAME"); | 
| 537 | pd10->cd(); | 
| 538 | CAT2M->SetLineColor(1); | 
| 539 | CAT2M->Draw(); | 
| 540 | //CAT2E->SetLineColor(2); | 
| 541 | //CAT2E->Draw("SAME"); | 
| 542 | pd11->cd(); | 
| 543 | CAT3M->SetLineColor(1); | 
| 544 | CAT3M->Draw(); | 
| 545 | //CAT3E->SetLineColor(2); | 
| 546 | //CAT3E->Draw("SAME"); | 
| 547 | pd12->cd(); | 
| 548 | CAT4M->SetLineColor(1); | 
| 549 | CAT4M->Draw(); | 
| 550 | //CAT4E->SetLineColor(2); | 
| 551 | //CAT4E->Draw("SAME"); | 
| 552 |  | 
| 553 |  | 
| 554 |  | 
| 555 | TCanvas *Canv_report2 = new TCanvas("Report sheet 2", "Report sheet 2", 1280, 1024); | 
| 556 | Canv_report2->Range(0,0,100,100); | 
| 557 |  | 
| 558 | /*tsf = (TSystemFile*)AcList->First(); | 
| 559 | sprintf(error,"File: %s ",tsf->GetName()); | 
| 560 | TLatex *t=new TLatex(); | 
| 561 | t->SetTextFont(32); | 
| 562 | t->SetTextColor(1); | 
| 563 | t->SetTextAlign(12); | 
| 564 | t->SetTextSize(0.015); | 
| 565 | t->DrawLatex(2.,99.,error); | 
| 566 | char *namn; | 
| 567 | TLatex *t2 = new TLatex(); | 
| 568 | t->SetTextFont(32); | 
| 569 | t->SetTextColor(1); | 
| 570 | t->SetTextAlign(12); | 
| 571 | t->SetTextSize(0.035); | 
| 572 | namn="CAS"; | 
| 573 | t->DrawLatex(48.,94.,namn); | 
| 574 | namn="CAT"; | 
| 575 | t->DrawLatex(48.,65.,namn); | 
| 576 | namn="CARD"; | 
| 577 | t->DrawLatex(48.,34.,namn); | 
| 578 | */ | 
| 579 | t->SetTextFont(32); | 
| 580 | t->SetTextColor(1); | 
| 581 | t->SetTextAlign(12); | 
| 582 | t->SetTextSize(0.035); | 
| 583 | namn="Calibration by the EXTRA board"; | 
| 584 | t->DrawLatex(35.,95.,namn); | 
| 585 |  | 
| 586 | t->SetTextSize(0.015); | 
| 587 | t->DrawLatex(75.,98.,base.Data()); | 
| 588 |  | 
| 589 | t->SetTextColor(1); | 
| 590 | t->SetTextSize(0.035); | 
| 591 |  | 
| 592 | namn="CAS"; | 
| 593 | t->DrawLatex(3.,94.,namn); | 
| 594 | namn="CARD"; | 
| 595 | t->DrawLatex(3.,65.,namn); | 
| 596 | namn="CAT"; | 
| 597 | t->DrawLatex(3.,34.,namn); | 
| 598 |  | 
| 599 | pd1 = new TPad("pd1","This is pad1",0.,0.68,0.25,.92); | 
| 600 | pd2 = new TPad("pd2","This is pad2",0.25,0.68,0.5,.92); | 
| 601 | pd3 = new TPad("pd3","This is pad3",0.5,0.68,0.75,.92); | 
| 602 | pd4 = new TPad("pd4","This is pad4",0.75,0.68,1.0,.92); | 
| 603 | pd5 = new TPad("pd5","This is pad5",0.,0.37,0.25,0.62); | 
| 604 | pd6 = new TPad("pd6","This is pad6",0.25,0.37,.5,0.62); | 
| 605 | pd7 = new TPad("pd7","This is pad7",0.5,0.37,0.75,0.62); | 
| 606 | pd8 = new TPad("pd8","This is pad8",0.75,0.37,1.0,0.62); | 
| 607 | pd9 = new TPad("pd9","This is pad9",0.0,0.06,0.25,0.31); | 
| 608 | pd10 = new TPad("pd10","This is pad10",0.25,0.06,.5,0.31); | 
| 609 | pd11 = new TPad("pd11","This is pad11",0.5,0.06,0.75,0.31); | 
| 610 | pd12 = new TPad("pd12","This is pad12",0.75,0.06,1.,0.31); | 
| 611 | Canv_report2->cd(); | 
| 612 | pd1->Range(0,0,100,100); | 
| 613 | pd2->Range(0,0,100,100); | 
| 614 | pd3->Range(0,0,100,100); | 
| 615 | pd4->Range(0,0,100,100); | 
| 616 | pd5->Range(0,0,100,100); | 
| 617 | pd6->Range(0,0,100,100); | 
| 618 | pd7->Range(0,0,100,100); | 
| 619 | pd8->Range(0,0,100,100); | 
| 620 | pd9->Range(0,0,100,100); | 
| 621 | pd10->Range(0,0,100,100); | 
| 622 | pd11->Range(0,0,100,100); | 
| 623 | pd12->Range(0,0,100,100); | 
| 624 | //pd13->Range(0,0,100,100); | 
| 625 | //pd14->Range(0,0,100,100); | 
| 626 | //pd15->Range(0,0,100,100); | 
| 627 | //pd16->Range(0,0,100,100); | 
| 628 | pd1->Draw(); | 
| 629 | pd2->Draw(); | 
| 630 | pd3->Draw(); | 
| 631 | pd4->Draw(); | 
| 632 | pd5->Draw(); | 
| 633 | pd6->Draw(); | 
| 634 | pd7->Draw(); | 
| 635 | pd8->Draw(); | 
| 636 | pd9->Draw(); | 
| 637 | pd10->Draw(); | 
| 638 | pd11->Draw(); | 
| 639 | pd12->Draw(); | 
| 640 |  | 
| 641 | pd1->cd(); | 
| 642 | //CAS1M->SetLineColor(1); | 
| 643 | //CAS1M->Draw(); | 
| 644 | CAS1E->SetLineColor(1); | 
| 645 | CAS1E->Draw(); | 
| 646 | pd2->cd(); | 
| 647 | //CAS2M->SetLineColor(1); | 
| 648 | //CAS2M->Draw(); | 
| 649 | CAS2E->SetLineColor(1); | 
| 650 | CAS2E->Draw(); | 
| 651 | pd3->cd(); | 
| 652 | //CAS3M->SetLineColor(1); | 
| 653 | //CAS3M->Draw(); | 
| 654 | CAS3E->SetLineColor(1); | 
| 655 | CAS3E->Draw(); | 
| 656 | pd4->cd(); | 
| 657 | //CAS4M->SetLineColor(1); | 
| 658 | //CAS4M->Draw(); | 
| 659 | CAS4E->SetLineColor(1); | 
| 660 | CAS4E->Draw(); | 
| 661 |  | 
| 662 | pd5->cd(); | 
| 663 | //CARD1M->SetLineColor(1); | 
| 664 | //CARD1M->Draw(); | 
| 665 | CARD1E->SetLineColor(1); | 
| 666 | CARD1E->Draw(); | 
| 667 | pd6->cd(); | 
| 668 | //CARD2M->SetLineColor(1); | 
| 669 | //CARD2M->Draw(); | 
| 670 | CARD2E->SetLineColor(1); | 
| 671 | CARD2E->Draw(); | 
| 672 | pd7->cd(); | 
| 673 | //CARD3M->SetLineColor(1); | 
| 674 | //CARD3M->Draw(); | 
| 675 | CARD3E->SetLineColor(1); | 
| 676 | CARD3E->Draw(); | 
| 677 | pd8->cd(); | 
| 678 | //CARD4M->SetLineColor(1); | 
| 679 | //CARD4M->Draw(); | 
| 680 | CARD4E->SetLineColor(1); | 
| 681 | CARD4E->Draw(); | 
| 682 |  | 
| 683 | pd9->cd(); | 
| 684 | //CAT1M->SetLineColor(1); | 
| 685 | //CAT1M->Draw(); | 
| 686 | CAT1E->SetLineColor(1); | 
| 687 | CAT1E->Draw(); | 
| 688 | pd10->cd(); | 
| 689 | //CAT2M->SetLineColor(1); | 
| 690 | //CAT2M->Draw(); | 
| 691 | CAT2E->SetLineColor(1); | 
| 692 | CAT2E->Draw(); | 
| 693 | pd11->cd(); | 
| 694 | //CAT3M->SetLineColor(1); | 
| 695 | //CAT3M->Draw(); | 
| 696 | CAT3E->SetLineColor(1); | 
| 697 | CAT3E->Draw(); | 
| 698 | pd12->cd(); | 
| 699 | //CAT4M->SetLineColor(1); | 
| 700 | //CAT4M->Draw(); | 
| 701 | CAT4E->SetLineColor(1); | 
| 702 | CAT4E->Draw(); | 
| 703 |  | 
| 704 | TCanvas *Canv_report3 = new TCanvas("Report sheet 3","Report sheet 3", 1280, 1024); | 
| 705 | Canv_report3->Range(0,0,100,100); | 
| 706 |  | 
| 707 | t->SetTextFont(32); | 
| 708 | t->SetTextColor(1); | 
| 709 | t->SetTextAlign(12); | 
| 710 | t->SetTextSize(0.035); | 
| 711 | namn="AC Calibration Quick Look"; | 
| 712 | t->DrawLatex(35.,95.,namn); | 
| 713 |  | 
| 714 | t->SetTextSize(0.015); | 
| 715 | t->SetTextColor(1); | 
| 716 | t->DrawLatex(75.,98.,base.Data()); | 
| 717 |  | 
| 718 | t->SetTextSize(0.035); | 
| 719 |  | 
| 720 | pd1 = new TPad("pd1","This is pad1",0.52,0.51,0.98,0.92,17); | 
| 721 | pd1->SetLogy(1); | 
| 722 | pd2 = new TPad("pd2","This is pad2",0.52,0.03,0.98,0.48,17); | 
| 723 | pd2->SetLogy(1); | 
| 724 | pd3 = new TPad("pd3","This is pad3",0.02,0.73,0.48,0.92,17); | 
| 725 | pd4 = new TPad("pd4","This is pad4",0.02,0.50,0.48,0.69,17); | 
| 726 | pd5 = new TPad("pd5","This is pad5",0.02,0.27,0.48,0.46,17); | 
| 727 | pd6 = new TPad("pd6","This is pad6",0.02,0.04,0.48,0.23,17); | 
| 728 | Canv_report3->cd(); | 
| 729 | pd1->Range(0,0,100,100); | 
| 730 | pd2->Range(0,0,100,100); | 
| 731 | pd3->Range(0,0,100,100); | 
| 732 | pd4->Range(0,0,100,100); | 
| 733 | pd5->Range(0,0,100,100); | 
| 734 | pd6->Range(0,0,100,100); | 
| 735 | pd1->Draw(); | 
| 736 | pd2->Draw(); | 
| 737 | pd3->Draw(); | 
| 738 | pd4->Draw(); | 
| 739 | pd5->Draw(); | 
| 740 | pd6->Draw(); | 
| 741 |  | 
| 742 | pd1->cd(); | 
| 743 | Calo_trigg_m->SetLineColor(1); | 
| 744 | Calo_trigg_m->SetStats(kFALSE); | 
| 745 | Calo_trigg_m->Draw(); | 
| 746 |  | 
| 747 | //pd2->cd(); | 
| 748 | //Calo_trigg_e->Draw(); | 
| 749 | pd2->cd(); | 
| 750 | Calo_trigg_e->SetLineColor(1); | 
| 751 | Calo_trigg_e->SetStats(kFALSE); | 
| 752 | Calo_trigg_e->Draw(); | 
| 753 |  | 
| 754 |  | 
| 755 | pd3->cd(); | 
| 756 | DAC1_m->SetMinimum(0); | 
| 757 | DAC1_m->SetMaximum(260); | 
| 758 | DAC1_m->SetStats(kFALSE); | 
| 759 | DAC1_m->Draw(); | 
| 760 |  | 
| 761 | pd4->cd(); | 
| 762 | DAC2_m->SetMinimum(0); | 
| 763 | DAC2_m->SetMaximum(260); | 
| 764 | DAC2_m->SetStats(kFALSE); | 
| 765 | DAC2_m->Draw(); | 
| 766 |  | 
| 767 | pd5->cd(); | 
| 768 | DAC1_e->SetMinimum(0); | 
| 769 | DAC1_e->SetMaximum(260); | 
| 770 | DAC1_e->SetStats(kFALSE); | 
| 771 | DAC1_e->Draw(); | 
| 772 |  | 
| 773 | pd6->cd(); | 
| 774 | DAC2_e->SetMinimum(0); | 
| 775 | DAC2_e->SetMaximum(260); | 
| 776 | DAC2_e->SetStats(kFALSE); | 
| 777 | DAC2_e->Draw(); | 
| 778 |  | 
| 779 | Canv_report3->Update(); | 
| 780 |  | 
| 781 | const string fil = (const char*)base; | 
| 782 | Int_t posiz = fil.find("dw_"); | 
| 783 | if ( posiz == -1 ) posiz = fil.find("DW_"); | 
| 784 | Int_t posiz2 = posiz+13; | 
| 785 | TString file2; | 
| 786 | //stringcopy(file2,base,posiz,posiz2); | 
| 787 | // | 
| 788 | const char *figrec = file2; | 
| 789 |  | 
| 790 | //string *outdir = new string(outDir); | 
| 791 | //string *Format = new string(format); | 
| 792 | char *figsave = 0; | 
| 793 | figsave = Form("%s/AcCALIB1_%s.%s",outDir.Data(),figrec,format.Data()); | 
| 794 | Canv_report1->SaveAs(figsave); | 
| 795 | figsave = Form("%s/AcCALIB2_%s.%s",outDir.Data(),figrec,format.Data()); | 
| 796 | Canv_report2->SaveAs(figsave); | 
| 797 | figsave = Form("%s/AcCALIB3_%s.%s",outDir.Data(),figrec,format.Data()); | 
| 798 | Canv_report3->SaveAs(figsave); | 
| 799 |  | 
| 800 |  | 
| 801 |  | 
| 802 |  | 
| 803 |  | 
| 804 | /* | 
| 805 | TString *file[17]; | 
| 806 | file = "dw_000000_000.dat"; | 
| 807 | file = getFilename(base); | 
| 808 | char *figrec = 0; | 
| 809 | figrec = "dw_000000_000"; | 
| 810 | memcpy(figrec, file, 13); | 
| 811 | char *outdir; | 
| 812 | outdir = outDir; | 
| 813 | char *figsave = 0; | 
| 814 | figsave = Form("%sAcCALIB1_%s.eps",outdir,figrec); | 
| 815 | Canv_report1->SaveAs(figsave); | 
| 816 | figsave = Form("%sAcCALIB2_%s.eps",outdir,figrec); | 
| 817 | Canv_report2->SaveAs(figsave); | 
| 818 | figsave = Form("%sAcCALIB3_%s.eps",outdir,figrec); | 
| 819 | Canv_report3->SaveAs(figsave); | 
| 820 | */ | 
| 821 |  | 
| 822 | } | 
| 823 |  | 
| 824 |  | 
| 825 | TString* getFilename(TString filename){ | 
| 826 | TString *errS = new TString("err"); | 
| 827 | string *file = new string(filename); //kan bugga, var char *file f�ut | 
| 828 | TString *file3 = new TString("dw_000000_000.dat"); //13 | 
| 829 | //file3 = "dw_000000_000.dat"; | 
| 830 | string *fil = new string(filename); | 
| 831 | Int_t posiz = fil->find("dw_"); | 
| 832 | if ( posiz == -1 ) posiz = fil->find("DW_"); | 
| 833 | if ( posiz == -1 ) return errS; | 
| 834 | memcpy(file3, file+posiz, 13); | 
| 835 | return file3; | 
| 836 | }; | 
| 837 |  | 
| 838 | void PrintFigure(TString *file[17], TString outDir, TString figty, TCanvas& figure) { | 
| 839 | char *figrec = 0; | 
| 840 | figrec = "dw_000000_000"; | 
| 841 | memcpy(figrec, file, 13); | 
| 842 | //char *ty; | 
| 843 | string *ty = new string(figty); | 
| 844 | //char *outdir; | 
| 845 | string *outdir = new string(outDir); | 
| 846 | char *figsave = 0; | 
| 847 | figsave = Form("%s/%s_%s.gif",outdir->c_str(),ty->c_str(),figrec); | 
| 848 | figure.SaveAs(figsave); | 
| 849 | return; | 
| 850 | } | 
| 851 |  | 
| 852 |  | 
| 853 | void stringcopy(TString& s1, const TString& s2, Int_t from=0, Int_t to=0){ | 
| 854 | if ( to == 0 ){ | 
| 855 | Int_t t2length = s2.Length(); | 
| 856 | s1 = ""; | 
| 857 | to = t2length; | 
| 858 | }; | 
| 859 | for (Int_t i = from; i<to; i++){ | 
| 860 | s1.Append(s2[i],1); | 
| 861 | }; | 
| 862 | } | 
| 863 |  | 
| 864 |  | 
| 865 | int main(int argc, char* argv[]){ | 
| 866 | TString outDir      = "."; | 
| 867 | TString format      = "jpg"; | 
| 868 | int nCal            = 0; | 
| 869 |  | 
| 870 |  | 
| 871 | if (argc < 2){ | 
| 872 | printf("You have to insert at least the file to analyze \n"); | 
| 873 | printf("Try '--help' for more information. \n"); | 
| 874 | exit(1); | 
| 875 | } | 
| 876 |  | 
| 877 | if (!strcmp(argv[1], "--help")){ | 
| 878 | printf( "Usage: AcCalib FILE [OPTION] \n"); | 
| 879 | printf( "\t --help           Print this help and exit \n"); | 
| 880 | printf( "\t -outDir[path]    Path where to put the output [default ./] \n"); | 
| 881 | printf( "\t -format[path]    Set the format for the output file [default  'jpg']\n"); | 
| 882 | printf( "\t -from #          Set the starting event  [default 0]\n"); | 
| 883 | printf( "\t -to #            Set the last event  [default 0]\n"); | 
| 884 | exit(1); | 
| 885 | } | 
| 886 |  | 
| 887 | for (int i = 2; i < argc; i++){ | 
| 888 | if (!strcmp(argv[i], "-outDir")){ | 
| 889 | if (++i >= argc){ | 
| 890 | printf( "-outDir needs arguments. \n"); | 
| 891 | printf( "Try '--help' for more information. \n"); | 
| 892 | exit(1); | 
| 893 | } else { | 
| 894 | outDir = argv[i]; | 
| 895 | } | 
| 896 | } | 
| 897 |  | 
| 898 | if (!strcmp(argv[i], "-format")) { | 
| 899 | if (++i >= argc){ | 
| 900 | printf( "-format needs arguments. \n"); | 
| 901 | printf( "Try '--help' for more information. \n"); | 
| 902 | exit(1); | 
| 903 | } else { | 
| 904 | format = argv[i]; | 
| 905 | continue; | 
| 906 | } | 
| 907 | } | 
| 908 |  | 
| 909 | if (!strcmp(argv[i], "-nCal1")) { | 
| 910 | if (++i >= argc){ | 
| 911 | printf( "-nCal1 needs arguments. \n"); | 
| 912 | printf( "Try '--help' for more information. \n"); | 
| 913 | exit(1); | 
| 914 | } | 
| 915 | if (isdigit(*argv[i]) && (atoi(argv[i]) > 0)) { | 
| 916 | nCal = atoi(argv[i]); | 
| 917 | } else { | 
| 918 | cerr << "-nCal1 needs a integer value. \n"; | 
| 919 | cout << "Try '--help' for more information. \n"; | 
| 920 | exit(1); | 
| 921 | } | 
| 922 | } | 
| 923 |  | 
| 924 | } | 
| 925 | AcCALIB(argv[1], nCal, outDir, format); | 
| 926 | } |