Changeset 7008 for trunk/MagicSoft
- Timestamp:
- 05/10/05 14:31:05 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mmuon/MMuonCalibParCalc.cc
r7005 r7008 30 30 // Task to calculate the muon parameters 31 31 // 32 // 32 // This class allows you to get more muon information especially useful for 33 33 // the calibration of our telescope. This class store the information into the 34 34 // container of MMuonCalibPar. 35 35 // 36 // 36 // In order to make this class work, we need the information of the arc 37 37 // center and the radius. Therefore, we need to use the task of 38 38 // MMuonSearchParCalc. 39 // In the second step two histograms has to be filled for every muon. 40 // This is made by MHSingleMuon (look there for more information). 39 41 // 40 // You can use this class suchas the followings;42 // The calculation of Muon parameters works as the followings; 41 43 // 42 44 // MTaskList tlist; 43 45 // MMuonSearchParCalc musearchcalc; 46 // MFillH fillmuon("MHSingleMuon", "", "FillMuon"); 44 47 // MMuonCalibParCalc mucalibcalc; 45 48 // tlist.AddToList(&musearchcalc); 49 // tlist.AddToList(&fillmuon); 46 50 // tlist.AddToList(&mucalibcalc);. 47 51 // 48 // You may change the allowed region to estimate muon parameters such as49 // Muon SIZE and ARC LENGTH. The default value is 60 mm (0.2 deg.). If the50 // estimated radius of the arc is 1.0 degree, we take the photons in the51 // radius range from 0.8 to 1.2 degrees. You can change this value such as52 // the followings;53 52 // 54 // mucalibcalc.SetMargin(60.); 53 // For a faster coputation, pre cuts to select the candidates 54 // of muons for the calibration should be done. It is already implemented 55 // in star. You can set the values in star.rc. 55 56 // 56 // You can retrieve the histogram (TH1F) using the function of GetHistPhi()57 // (also GetHistWid()). Therefore, you can draw the histogram such as58 //59 // MParList plist;60 // MMuonCalibPar muparcalib;61 // plist.AddToList(&muparcalib);.62 // muparcalib.GetHistPhi().Draw();.63 //64 // In order to use another information of muons such as the center position65 // of the estimated circle, the radius of the circle. Use the infomation66 // stored in MMuonSearchPar.67 //68 //69 // // For the faster computation, by default, the calculation of impact70 // // parameter is suppressed. If you want to calculate the impact parameter71 // // from the muon image, you can use the function of EnableImpactCalc(),72 // // namely;73 // //74 // // mucalibcalc.EnableImpactCalc();.75 //76 // In addition, for the faster comutation, pre cuts to select the candidates77 // of muons for the calibration is done. You can set the values using the78 // function of SetPreCuts. This function takes 5 variables. They correspond79 // to the cur for the Arc Radius (low and high), the deviation of the fit80 // (high), the Muon Size (low) and Arc Phi (low). You can set them such as81 //82 // mucalibcalc.SetPreCuts(180., 400., 50., 2000., 180.);83 //84 // If you want to disable the pre cuts, you can disable it by using the85 // function of DisablePreCuts(), namely;86 //87 // mucalibcalc.DisablePreCuts();.88 //89 //90 57 // ### TODO ### 91 58 // Up to now, in the histogram the error of the signal is estimated from … … 95 62 // the pedestal is not taken into accout. The error treatment should be 96 63 // done correctly. 97 // 64 // 98 65 // 99 66 // Input Containers: … … 186 153 Int_t MMuonCalibParCalc::Process() 187 154 { 188 // Calculation of Arc Phi etc...155 // Calculation of ArcPhi, ArcWidth and MuonSize. 189 156 const Float_t thresphi = fMuonSetup->GetThresholdArcPhi(); 190 157 const Float_t threswidth = fMuonSetup->GetThresholdArcWidth(); … … 202 169 fMuonCalibPar->SetMuonSize(fHist->GetHistPhi().Integral()); 203 170 204 // Calculate Arc Length171 // Calculate ArcPhi 205 172 fMuonCalibPar->SetPeakPhi(peakphi); 206 173 fMuonCalibPar->SetArcPhi(arcphi); 207 174 208 const Float_t conv = TMath::RadToDeg()*fGeomCam->GetConvMm2Deg(); 209 fMuonCalibPar->SetArcLength(fMuonCalibPar->GetArcPhi()*fMuonSearchPar->GetRadius()*conv); 175 // const Float_t conv = TMath::RadToDeg()*fGeomCam->GetConvMm2Deg(); 176 // fMuonCalibPar->SetArcLength(fMuonCalibPar->GetArcPhi() 177 // *fMuonSearchPar->GetRadius()*conv); 210 178 211 // Calculation of Arc 179 // Calculation of ArcWidth etc... 212 180 fMuonCalibPar->SetChiArcWidth(chi); 213 181 fMuonCalibPar->SetArcWidth(width); 214 182 183 // Check if this is a 'Write-Out' candidate 184 if (fMuonCalibPar->GetArcPhi()>160 && fMuonSearchPar->GetRadius()<400 && 185 fMuonSearchPar->GetDeviation()<50 && fMuonSearchPar->GetRadius()>170) 186 fMuonCalibPar->SetReadyToSave(); 187 215 188 return kTRUE; 216 189 }
Note:
See TracChangeset
for help on using the changeset viewer.