Changeset 9062 for trunk/MagicSoft/Mars/datacenter/macros
- Timestamp:
- 07/31/08 17:41:29 (16 years ago)
- Location:
- trunk/MagicSoft/Mars/datacenter/macros
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/datacenter/macros/checkstardone.C
r9018 r9062 72 72 // ------------------------------------------- 73 73 74 TString query = " NOT ISNULL(fStar) FROM SequenceProcessStatus "74 TString query = "SELECT MIN(NOT ISNULL(fStar)) FROM SequenceProcessStatus " 75 75 "LEFT JOIN DataSetSequenceMapping USING (fTelescopeNumber,fSequenceFirst) "; 76 76 query += Form("WHERE fDataSetNumber=%d", num); … … 87 87 } 88 88 89 TSQ lRow *row = res->Next();89 TSQLRow *row = res->Next(); 90 90 91 91 if (!row || !(*row)[0]) -
trunk/MagicSoft/Mars/datacenter/macros/fillcalib.C
r8951 r9062 61 61 #include <iostream> 62 62 63 #include <TEnv.h>64 #include <TRegexp.h>65 66 63 #include <TH1.h> 67 64 … … 74 71 #include "MStatusArray.h" 75 72 #include "MHCamera.h" 73 #include "MSequence.h" 76 74 #include "MGeomCamMagic.h" 77 75 #include "MBadPixelsCam.h" … … 145 143 if (!h) 146 144 { 147 cout << " WARNING - Could not find histogram HRelTimeHiGainArea0." << endl;145 cout << "ERROR - Could not find histogram HRelTimeHiGainArea0 in Time." << endl; 148 146 return 2; 149 147 } … … 156 154 if (!h) 157 155 { 158 cout << " WARNING - Could not find histogram HRelTimeHiGainArea1." << endl;156 cout << "ERROR - Could not find histogram HRelTimeHiGainArea1 in Time." << endl; 159 157 return 2; 160 158 } … … 167 165 if (!c) 168 166 { 169 cout << " WARNING - Could not find MHCamera TotalConv." << endl;167 cout << "ERROR - Could not find MHCamera TotalConv in Conversion." << endl; 170 168 return 2; 171 169 } … … 182 180 TString meanconvouter=Form("%6.3f", meanconvo); 183 181 184 //Getting sequ# from filename 185 TString sequence = fname(TRegexp("calib[0-9]+[.]root$")); 186 if (sequence.IsNull()) 187 { 188 cout << "WARNING - Could get sequence# from filename: " << fname << endl; 189 return 2; 190 } 191 192 Int_t seq = atoi(sequence.Data()+5); 182 //Getting relative charge rms 183 c = (MHCamera*)arr.FindObjectInCanvas("RMSperMean", "MHCamera", "FitCharge"); 184 if (!c) 185 { 186 cout << "ERROR - Could not find MHCamera RMSperMean in FitCharge." << endl; 187 return 2; 188 } 189 190 Stat_t relrmsi = c->GetMedianSectors(TArrayI(6, s0), inner); 191 Stat_t relrmso = c->GetMedianSectors(TArrayI(6, s0), outer); 192 TString relrmsinner=Form("%6.3f", relrmsi); 193 TString relrmsouter=Form("%6.3f", relrmso); 194 195 //Getting relative charge rms 196 c = (MHCamera*)arr.FindObjectInCanvas("NumPhes", "MHCamera", "FitCharge"); 197 if (!c) 198 { 199 cout << "ERROR - Could not find MHCamera NumPhes in FitCharge." << endl; 200 return 2; 201 } 202 203 Stat_t numphei = c->GetMedianSectors(TArrayI(6, s0), inner); 204 Stat_t numpheo = c->GetMedianSectors(TArrayI(6, s0), outer); 205 TString numpheinner=Form("%5.1f", numphei); 206 TString numpheouter=Form("%5.1f", numpheo); 207 208 MSequence seq; 209 if (seq.Read("sequence[0-9]{8}[.]txt|MSequence")<=0) 210 { 211 cout << "ERROR - Could not find sequence in file: " << fname << endl; 212 return 2; 213 } 214 if (!seq.IsValid()) 215 { 216 cout << "ERROR - Sequence read from file inavlid: " << fname << endl; 217 return 2; 218 } 193 219 194 220 //getting the ratio of calibration events used … … 196 222 if (!h) 197 223 { 198 cout << " WARNING- Could not find histogram ArrTime;avg." << endl;199 return 2; 200 } 201 202 UInt_t nevts = h->GetEntries();224 cout << "ERROR - Could not find histogram ArrTime;avg." << endl; 225 return 2; 226 } 227 228 UInt_t nevts = TMath::Nint(h->GetEntries()); 203 229 204 230 TString query; 205 231 query = Form("SELECT SUM(fNumEvents) FROM RunData " 206 "LEFT JOIN RunType ON RunType.fRunTypeKEY=RunData.fRunTypeKEY " 207 "WHERE fSequenceFirst=%d AND RunType.fRunTypeName='Calibration'", 208 seq); 232 "LEFT JOIN RunType USING (fRunTypeKEY) " 233 "WHERE fSequenceFirst=%d AND fTelescopeNumber=%d AND " 234 "RunType.fRunTypeName='Calibration'", 235 seq.GetSequence(), seq.GetTelescope()); 209 236 210 237 TSQLResult *res = serv.Query(query); … … 228 255 delete res; 229 256 230 cout << "Sequence #" << seq << endl; 231 cout << " Unsuitable: (i/o) " << Form("%3d %3d", (int)unsin, (int)unsout) << endl; // Unbrauchbar 232 cout << " Unreliable: (i/o) " << Form("%3d %3d", (int)unrin, (int)unrout) << endl; // Unzuverlaessig 233 cout << " Isolated: (i/o) " << Form("%3d %3d", (int)isoin, (int)isoout) << endl; // Isolated (unbrauchbar) 234 cout << " Max.Cluster: " << Form("%3d", (int)clumax) << endl; // Max Cluster 235 cout << " Arr Time inner: " << meaninner << " +- " << rmsinner << endl; 236 cout << " Arr Time outer: " << meanouter << " +- " << rmsouter << endl; 237 cout << " Mean Conv inner: " << meanconvinner << endl; 238 cout << " Mean Conv outer: " << meanconvouter << endl; 239 cout << " Ratio Calib Evts: " << ratiocal << endl; 257 cout << "Sequence M" << seq.GetTelescope() << ":" << seq.GetSequence() << endl; 258 cout << " Unsuitable: (i/o) " << Form("%3d %3d", (int)unsin, (int)unsout) << endl; // Unbrauchbar 259 cout << " Unreliable: (i/o) " << Form("%3d %3d", (int)unrin, (int)unrout) << endl; // Unzuverlaessig 260 cout << " Isolated: (i/o) " << Form("%3d %3d", (int)isoin, (int)isoout) << endl; // Isolated (unbrauchbar) 261 cout << " Max.Cluster: " << Form("%3d", (int)clumax) << endl; // Max Cluster 262 cout << " Arr Time inner: " << meaninner << " +- " << rmsinner << endl; 263 cout << " Arr Time outer: " << meanouter << " +- " << rmsouter << endl; 264 cout << " Mean Conv inner: " << meanconvinner << endl; 265 cout << " Mean Conv outer: " << meanconvouter << endl; 266 cout << " Rel.charge rms in: " << relrmsinner << endl; 267 cout << " Rel.charge rms out: " << relrmsouter << endl; 268 cout << " Med. num phe inner: " << numpheinner << endl; 269 cout << " Med. num phe outer: " << numpheouter << endl; 270 cout << " Ratio Calib Evts: " << ratiocal << endl; 271 272 // FIXME: Fill calibration charge 240 273 241 274 //inserting or updating the information in the database 242 275 TString vars = 243 Form(" fUnsuitableInner=%d, " 276 Form(" fSequenceFirst=%d, " 277 " fTelescopeNumber=%d, " 278 " fUnsuitableInner=%d, " 244 279 " fUnsuitableOuter=%d, " 245 280 " fUnreliableInner=%d, " … … 254 289 " fConvFactorInner=%s, " 255 290 " fConvFactorOuter=%s, " 256 " fRatioCalEvents=%s ", 291 " fRatioCalEvents=%s, " 292 " fRelChargeRmsInner=%s, " 293 " fRelChargeRmsOuter=%s, " 294 " fMedNumPheInner=%s, " 295 " fMedNumPheOuter=%s ", 296 seq.GetSequence(), seq.GetTelescope(), 257 297 (int)unsin, (int)unsout, (int)unrin, 258 298 (int)unrout, (int)isoin, (int)isoout, (int)clumax, … … 260 300 meanouter.Data(), rmsouter.Data(), 261 301 meanconvinner.Data(), meanconvouter.Data(), 262 ratiocal.Data()); 263 264 return serv.InsertUpdate("Calibration", "fSequenceFirst", 265 Form("%d", seq), vars.Data()) ? 1 : 2; 302 ratiocal.Data(), 303 relrmsinner.Data(), relrmsouter.Data(), 304 numpheinner.Data(), numpheouter.Data() 305 ); 306 307 TString where = Form("fSequenceFirst=%d AND fTelescopeNumber=%d", 308 seq.GetSequence(), seq.GetTelescope()); 309 310 return serv.InsertUpdate("Calibration", vars, where) ? 1 : 2; 266 311 } 267 312 268 313 int fillcalib(TString fname, Bool_t dummy=kTRUE) 269 314 { 270 TEnv env("sql.rc"); 271 272 MSQLMagic serv(env); 315 MSQLMagic serv("sql.rc"); 273 316 if (!serv.IsConnected()) 274 317 { -
trunk/MagicSoft/Mars/datacenter/macros/fillsignal.C
r9005 r9062 69 69 70 70 #include "MStatusArray.h" 71 #include "MSequence.h" 71 72 #include "MHCamera.h" 72 73 #include "MHVsTime.h" … … 140 141 */ 141 142 142 //get sequence number from the filename 143 TString sequence = fname(TRegexp("signal[0-9]+[.]root$")); 144 if (sequence.IsNull()) 145 { 146 cout << "ERROR - Sequ# empty" << endl; 147 cout << "Sequ# " << sequence << endl; 148 return 2; 149 } 150 151 Int_t seq = atoi(sequence.Data()+6); 143 MSequence seq; 144 if (seq.Read("sequence[0-9]{8}[.]txt|MSequence")<=0) 145 { 146 cout << "ERROR - Could not find sequence in file: " << fname << endl; 147 return 2; 148 } 149 if (!seq.IsValid()) 150 { 151 cout << "ERROR - Sequence read from file inavlid: " << fname << endl; 152 return 2; 153 } 152 154 153 155 TString medpuloff("NULL"); … … 156 158 TString devhilocal("NULL"); 157 159 158 if (seq < 200000)160 if (seq.GetSequence()<200000 && seq.GetTelescope()==1) 159 161 { 160 162 MHCamera *hilooff = (MHCamera*)arr.FindObjectInCanvas("HiLoOff;avg", "MHCamera", "HiLoOff"); … … 313 315 // ***************************************************** 314 316 315 cout << "Sequence #" << seq<< endl;317 cout << "Sequence M" << seq.GetTelescope() << "/" << seq.GetSequence() << endl; 316 318 cout << " Mean Ped RMS inner [phe] " << meanrmsinner << endl; 317 319 cout << " Mean Ped RMS outer [phe] " << meanrmsouter << endl; … … 374 376 ); 375 377 376 377 return serv.Update("Calibration", vars, Form("fSequenceFirst=%d", seq)) ? 1 : 2; 378 TString where = Form("fSequenceFirst=%d AND fTelescopeNumber=%d", 379 seq.GetSequence(), seq.GetTelescope()); 380 return serv.Update("Calibration", vars, where) ? 1 : 2; 378 381 } 379 382 -
trunk/MagicSoft/Mars/datacenter/macros/fillstar.C
r8996 r9062 59 59 #include <iomanip> 60 60 61 #include <TRegexp.h> 62 61 #include <TFile.h> 63 62 #include <TH1.h> 64 63 #include <TH2.h> 65 64 #include <TGraph.h> 66 #include <TProfile.h>67 #include <TFile.h>68 #include <TSQLResult.h>69 #include <TSQLRow.h>70 65 71 66 #include "MSQLMagic.h" … … 73 68 #include "MHCamera.h" 74 69 #include "MHMuonPar.h" 70 #include "MSequence.h" 75 71 #include "MStatusArray.h" 76 #include "MGeomCamMagic.h"77 72 #include "MBadPixelsCam.h" 73 #include "MHEffectiveOnTime.h" 78 74 79 75 using namespace std; … … 104 100 if (!hsparks) 105 101 { 106 cout << " WARNING- Reading of Sparks failed." << endl;102 cout << "ERROR - Reading of Sparks failed." << endl; 107 103 return 2; 108 104 } … … 111 107 if (!hcog) 112 108 { 113 cout << " WARNING- Reading of MHHillas failed." << endl;109 cout << "ERROR - Reading of MHHillas failed." << endl; 114 110 return 2; 115 111 } … … 118 114 if (!hmuon) 119 115 { 120 cout << " WARNING- Reading of MHMuon failed." << endl;116 cout << "ERROR - Reading of MHMuon failed." << endl; 121 117 return 2; 122 118 } … … 132 128 } 133 129 134 Double_t inhom = TMath::RMS(6, val)*6/hcog->GetEntries()*100; 135 inhom = TMath::Nint(inhom*10)/10.; 130 Float_t inhom = TMath::RMS(6, val)*6/hcog->GetEntries()*100; 136 131 TString inhomogen = Form("%5.1f", inhom); 137 132 138 Float_t mw 139 Float_t psf 140 TString PSF = Form("%5.1f", psf<0?0:psf);133 Float_t mw = hmuon->GetMeanWidth(); 134 Float_t psf = 70.205*mw - 28.055; 135 TString PSF = Form("%5.1f", (psf<0?0:psf)); 141 136 Int_t num = (int)hmuon->GetEntries(); 142 137 … … 147 142 if (!h) 148 143 { 149 cout << " WARNING- Reading of Islands failed." << endl;144 cout << "ERROR - Reading of Islands failed." << endl; 150 145 return 2; 151 146 } … … 154 149 155 150 h = (TH1*)arr.FindObjectInCanvas("EffOnTheta", "TH1D", "EffOnTime"); 151 152 Float_t effon = h ? h->Integral() : -1; 153 154 h = (TH1*)arr.FindObjectInCanvas("Cleaned;avg", "TH1D", "Cleaned"); 156 155 if (!h) 157 156 { 158 cout << "WARNING - Reading of EffOnTheta failed." << endl; 159 return 2; 160 } 161 162 Float_t effon = h->Integral(); 157 cout << "ERROR - Reading of Cleaned;avg failed." << endl; 158 return 2; 159 } 160 161 if (effon<0) 162 effon = h->GetEntries()/100; 163 163 164 Float_t mrate = num/effon; 164 165 TString muonrate = Form("%6.2f", mrate<0?0:mrate); 165 Int_t effontime = TMath::Nint(effon); 166 167 h = (TH1*)arr.FindObjectInCanvas("ProjDeltaT", "TH1D", "EffOnTime"); 168 if (!h) 169 { 170 cout << "WARNING - Reading of ProjDeltaT failed." << endl; 171 return 2; 172 } 166 TString effontime = Form("%.1f", effon); 173 167 174 168 Int_t numsparks = (int)hsparks->GetEntries(); 175 169 Int_t numevents = (int)h->GetEntries() - numsparks; 176 Int_t datarate = (int)(numevents/effon);170 Int_t datarate = TMath::Nint(numevents/effon); 177 171 178 172 TString sparkrate = Form("%5.2f", numsparks/effon); … … 181 175 sparkrate="0.00"; 182 176 177 MHEffectiveOnTime *ontm = (MHEffectiveOnTime*)arr.FindObjectInCanvas("MHEffectiveOnTime", "MHEffectiveOnTime", "EffOnTime"); 178 TString totontime = ontm ? Form("%d", TMath::Nint(ontm->GetTotalTime())) : "NULL"; 179 TString relontime = ontm ? Form("%.2f", effon/ontm->GetTotalTime()*100) : "NULL"; 180 183 181 TGraph *g = (TGraph*)arr.FindObjectInCanvas("Humidity", "TGraph", "MHWeather"); 184 if (!g) 185 { 186 cout << "WARNING - Reading of Humidity failed." << endl; 187 return 2; 188 } 182 189 183 TString maxhum = CheckGraph(g) ? Form("%5.1f", TMath::MaxElement(g->GetN(), g->GetY())) : "NULL"; 190 184 TString avghum = CheckGraph(g) ? Form("%5.1f", g->GetMean(2)) : "NULL"; 191 185 192 186 g = (TGraph*)arr.FindObjectInCanvas("Temperature", "TGraph", "MHWeather"); 193 if (!g) 194 { 195 cout << "WARNING - Reading of Temperature failed." << endl; 196 return 2; 197 } 187 198 188 TString avgtemp = CheckGraph(g) ? Form("%5.1f", g->GetMean(2)) : "NULL"; 199 189 200 190 g = (TGraph*)arr.FindObjectInCanvas("WindSpeed", "TGraph", "MHWeather"); 201 if (!g) 202 { 203 cout << "WARNING - Reading of WindSpeed failed." << endl; 204 return 2; 205 } 191 206 192 TString avgwind = CheckGraph(g) ? Form("%5.1f", g->GetMean(2)) : "NULL"; 207 193 208 194 g = (TGraph*)arr.FindObjectInCanvas("Cloudiness", "TGraph", "MHWeather"); 209 if (!g) 210 cout << "WARNING - Reading of Cloudiness failed." << endl; 211 195 //if (!g) 196 // cout << "WARNING - Reading of Cloudiness failed." << endl; 212 197 TString avgclouds = CheckGraph(g) ? Form("%5.1f", g->GetMean(2)) : "NULL"; 213 198 TString rmsclouds = CheckGraph(g) ? Form("%5.1f", g->GetRMS(2)) : "NULL"; 214 199 215 200 g = (TGraph*)arr.FindObjectInCanvas("TempSky", "TGraph", "MHWeather"); 216 if (!g)217 cout << "WARNING - Reading of TempSky failed." << endl;201 //if (!g) 202 // cout << "WARNING - Reading of TempSky failed." << endl; 218 203 TString avgsky = CheckGraph(g) ? Form("%5.1f", g->GetMean(2)+200) : "NULL"; 219 204 220 205 221 206 g = (TGraph*)arr.FindObjectInCanvas("NumStars", "TGraph", "MHPointing"); 222 if (!g) 223 cout << "WARNING - Reading of NumStars failed." << endl; 224 207 //if (!g) 208 // cout << "WARNING - Reading of NumStars failed." << endl; 225 209 TString numstarsmed = CheckGraph(g) ? Form("%5.1f", TMath::Median(g->GetN(), g->GetY())) : "NULL"; 226 210 TString numstarsrms = CheckGraph(g) ? Form("%5.1f", g->GetRMS(2)) : "NULL"; 227 211 228 212 g = (TGraph*)arr.FindObjectInCanvas("NumStarsCor", "TGraph", "MHPointing"); 229 if (!g) 230 cout << "WARNING - Reading of NumStarsCor failed." << endl; 231 213 //if (!g) 214 // cout << "WARNING - Reading of NumStarsCor failed." << endl; 232 215 TString numcorsmed = CheckGraph(g) ? Form("%5.1f", TMath::Median(g->GetN(), g->GetY())) : "NULL"; 233 216 TString numcorsrms = CheckGraph(g) ? Form("%5.1f", g->GetRMS(2)) : "NULL"; 234 217 235 218 g = (TGraph*)arr.FindObjectInCanvas("Brightness", "TGraph", "MHPointing"); 236 if (!g) 237 cout << "WARNING - Reading of SkyBrightness failed." << endl; 238 219 //if (!g) 220 // cout << "WARNING - Reading of SkyBrightness failed." << endl; 239 221 TString skybrightnessmed = CheckGraph(g) ? Form("%5.1f", TMath::Median(g->GetN(), g->GetY())) : "NULL"; 240 222 TString skybrightnessrms = CheckGraph(g) ? Form("%5.1f", g->GetRMS(2)) : "NULL"; 241 223 242 TString sequence = fname(TRegexp("star[0-9]+[.]root$")); 243 if (sequence.IsNull()) 244 { 245 cout << "WARNING - Could not determine sequence# from filename: " << fname << endl; 246 return 2; 247 } 248 249 Int_t seq = atoi(sequence.Data()+5); 250 251 cout << "Sequence #" << seq << endl; 224 MSequence seq; 225 if (seq.Read("sequence[0-9]{8}|MSequence")<=0) 226 { 227 cout << "ERROR - Could not find sequence in file: " << fname << endl; 228 return 2; 229 } 230 if (!seq.IsValid()) 231 { 232 cout << "ERROR - Sequence read from file inavlid: " << fname << endl; 233 return 2; 234 } 235 236 cout << "Sequence M" << seq.GetTelescope() << ":" << seq.GetSequence() << endl; 252 237 cout << " Inhomogeneity " << inhomogen << endl; 253 238 cout << " PSF [mm] " << PSF << endl; … … 255 240 cout << " Ratio [%] " << ratio << endl; 256 241 cout << " Muon Number " << num << endl; 257 cout << " EffOnTime [s] " << effontime << endl; 242 cout << " Eff. OnTime [s] " << effontime << endl; 243 cout << " Tot. OnTime [s] " << totontime << endl; 244 cout << " Rel. OnTime [%] " << relontime << endl; 258 245 cout << " Muon Rate [Hz] " << muonrate << endl; 259 246 cout << " # of Events (w/o sparks) " << numevents << endl; … … 271 258 cout << " Skybrightness " << skybrightnessmed << " +/- " << skybrightnessrms << endl; 272 259 273 TString vars = Form(" fMeanNumberIslands=%s," 260 TString vars = Form(" fSequenceFirst=%d, " 261 " fTelescopeNumber=%d, " 262 " fMeanNumberIslands=%s," 274 263 " fRatio=%s," 275 264 " fMuonNumber=%d," 276 " fEffOnTime=%d," 265 " fEffOnTime=%s," 266 " fTotOnTime=%s," 277 267 " fMuonRate=%s," 278 268 " fPSF=%s," … … 293 283 " fBrightnessRMS=%s," 294 284 " fInhomogeneity=%s ", 285 seq.GetSequence(), seq.GetTelescope(), 295 286 islands.Data(), ratio.Data(), 296 num, effontime ,287 num, effontime.Data(), totontime.Data(), 297 288 muonrate.Data(), PSF.Data(), 298 289 datarate, sparkrate.Data(), maxhum.Data(), … … 304 295 inhomogen.Data()); 305 296 306 return serv.InsertUpdate("Star", "fSequenceFirst", Form("%d", seq), vars); 297 TString where = Form("fSequenceFirst=%d AND fTelescopeNumber=%d", 298 seq.GetSequence(), seq.GetTelescope()); 299 300 return serv.InsertUpdate("Star", vars, where) ? 1 : 2; 307 301 } 308 302
Note:
See TracChangeset
for help on using the changeset viewer.