00001 00002 // // 00003 // CalibrationDataVariables // 00004 // // 00005 // This class (struct, actually) is nothing but a light-weight container of (kinematic or // 00006 // other) variables. Encapsulating these variables has the advantage of providing a // 00007 // framework-independent interface. // 00008 // A drawback is that it is not a priori obvious which variables will be relevant // 00009 // for which calibration. The following rules of thumb apply: // 00010 /* Begin_Html 00011 <ul> 00012 <li>specifying more information than strictly necessary doesn't hurt!</li> 00013 <li>always specify the jet collection</li> 00014 <li>the tag weight variable is relevant only in case of so-called continuous tagging</li> 00015 </ul> 00016 End_Html */ 00017 // // 00018 // CalibrationDataVariables.h, (c) ATLAS Detector software // 00020 00021 #ifndef ANALYSISCALIBRATIONDATAVARIABLES_H 00022 #define ANALYSISCALIBRATIONDATAVARIABLES_H 00023 00024 #include <string> 00025 #include <utility> 00026 00027 namespace Analysis 00028 { 00029 00038 struct CalibrationDataVariables { 00039 std::string jetAuthor; 00040 double jetPt; // in MeV 00041 double jetEta; 00042 double jetTagWeight; // actual output of the tagging algorithm (relevant only for "continuous" tagging) 00043 }; 00044 00051 enum CalibrationStatus { 00052 kSuccess = 0, // all OK 00053 kRange = 1, // given coordinates outside the range of validity of the calibration 00054 kExtrapolatedRange = 2, // given coordinates even outside the extrapolation range 00055 kError = 3 // "technical" error (typically: nonexistent object) 00056 }; 00057 00058 } 00059 00060 #endif // ANALYSISCALIBRATIONDATAVARIABLES_H