Changeset 7170


Ignore:
Timestamp:
06/27/05 10:45:56 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/tpoint/tpoint0506.txt

    r7147 r7170  
    2727# ------------- Since 9./10.6.2005 (incl)------------------
    2828
     29# --- 09.06.2005 --- 22:35:17.919
     30# Her Zeta 40, 2.81 mag
     3176.14804 63.13297 218.6275 54.12496 16.68806 31.60306 -0.03058983 -0.03046012 53530.94118 200.4 3.184
     32
     33# --- 09.06.2005 --- 22:43:19.625
     34# Oph Alpha 55, 2.08 mag
     35103.27 47.39119 245.7967 38.41366 17.58222 12.56 -0.001175297 -0.04200264 53530.946755 181.3 2.789
     36# Oph Zeta 13, 2.56 mag
     37143.3179 43.19028 285.8166 34.21567 16.61917 -10.56722 0.002758086 -0.02612032 53530.951578 203.9 3.03
     38# Dschubba, 2.32 mag
     39162.4109 36.54496 304.92 27.59281 16.00556 -22.62167 0.02234637 -0.03181517 53530.95675 210.3 2.765
     40# Alderamin, 3
     412.511824 56.10478 145.0219 47.13649 21.30972 62.58556 0.005204482 -0.03225844 53531.210643 191.2 3.076
     42# Dra Eta 14, 2.44 mag
     43-32.99673 33.39271 109.5274 24.54389 16.39972 61.51417 -0.004258851 -0.02098879 53531.215465 198.8 3.132
     44# Sadalsuud, 2.91 mag
     45175.6778 55.64592 318.1474 46.64616 21.52583 -5.571111 -0.02591623 -0.02546906 53531.221523 205.2 3.152
     46# Eltanin, Az -45
     47-44.6716 44.28141 97.83765 35.43805 17.94333 51.48889 -7.625169e-05 -0.02159711 53531.228684 240 2.593
     48
     49# --- 11.06.2005 --- 05:09:43.020
     50# Enif, 2.39 mag
     51159.5913 70.09753 301.9844 61.07831 21.73639 9.875 -0.04423529 -0.02549534 53532.215081 194.9 2.906
     52
     53# --- 11.06.2005 --- 21:02:05.255
     54# Benetnash, Zd 22, Az 18, 1.86 mag
     5516.02673 68.38808 158.5149 59.37905 13.79222 49.31333 -0.03384319 -0.05428281 53532.87645 211.4 2.64
     56# Muphrid, Zd 14, Az 139, 2.68 mag
     57141.5051 77.12943 283.8804 68.09366 13.91139 18.39778 -0.06099519 -0.09162465 53532.883057 199.1 3.046
     58# Cen Iota, Zd 66, Az 181, 2.75 mag
     59-177.7981 24.51422 324.7028 15.63997 13.34333 -36.71222 -0.02873433 -0.01499224 53532.889797 204.3 3.178
     60# Crv Beta-9, Zd 54, Az 197, 2.65 mag,
     61-162.0731 35.67407 340.4175 26.80336 12.57306 -23.39667 -0.02593803 -0.01765152 53532.894671 179.1 3.127
     62-161.7421 35.59113 340.7601 26.71727 12.57306 -23.39667 -0.02925694 -0.02782703 53532.895548 201.8 3.118
     63# Hya Gamma 46, Zd 52, Az 187, 3.00 mag
     64-172.4884 37.78711 330.0127 28.83604 13.31528 -23.17167 -0.1059985 -0.02888653 53532.899623 194.8 3.328
     65# Menkent, Zd 65, Az 177, 2.06 mag
     66177.181 24.72644 319.6983 15.83175 14.11139 -36.37 0.07903746 -0.0316159 53532.906037 202.2 2.832
  • trunk/MagicSoft/Mars/Changelog

    r7169 r7170  
    2121
    2222                                                 -*-*- END OF LINE -*-*-
     23
     24 2005/06/27 Thomas Bretz
     25
     26   * macros/optim/optimenergy.C:
     27     - changed algorithm from Simplex to Migrad
     28     - fixed a typo (RunDisp)
     29
     30   * mhflux/FluxLinkDef.h, mhflux/Makefile:
     31     - added new class for threshold calculation
     32
     33   * mhflux/MHCollectionArea.cc:
     34     - replaced BinningEnergy by BinningEnergyEst
     35
     36   * mimage/MHHillasSrc.cc:
     37     - set minimum of fAlpha, fCosDA and fDCADelta to 0
     38
     39   * mjobs/MDataSet.cc:
     40     - improved reading source position
     41
     42   * mranforest/MRanForest.[h,cc]:
     43     - implemented a value describing the forest (eg. corresponding
     44       energy)
     45     - increased ClassVersion
     46
     47   * mtrigger/MFTriggerPattern.cc, mtrigger/MTriggerPattern.cc,
     48     mtrigger/MTriggerPatternDecode.cc
     49     - improved dox (thx to Nicola)
     50
     51
    2352
    2453 2005/06/17 Thomas Bretz
  • trunk/MagicSoft/Mars/macros/optim/optimenergy.C

    r7153 r7170  
    33    MJOptimizeEnergy opt;
    44    opt.SetDebug(2);
    5     opt.SetOptimizer(MJOptimize::kSimplex);
     5    opt.SetOptimizer(MJOptimize::kMigrad);
    66    opt.EnableTestTrain();
    77
     
    1919
    2020    //opt.AddPreCut("MNewImagePar.fLeakage1<0.0001");
    21     opt.RunDisp("ganymedmcpart.root", r);
     21    opt.RunEnergy("ganymedmcpart.root", r);
    2222}
  • trunk/MagicSoft/Mars/mhflux/FluxLinkDef.h

    r7109 r7170  
    1414#pragma link C++ class MHEffectiveOnTime+;
    1515#pragma link C++ class MHCollectionArea+;
     16#pragma link C++ class MHThreshold+;
    1617#pragma link C++ class MMcSpectrumWeight+;
    1718
  • trunk/MagicSoft/Mars/mhflux/MHCollectionArea.cc

    r7142 r7170  
    3838#include "MLogManip.h"
    3939
    40 #include "MH.h"
    4140#include "MBinning.h"
    4241
     
    182181            binst.SetEdges(*bins);
    183182
    184         bins = (MBinning*)pl->FindObject("BinningEnergy", "MBinning");
     183        bins = (MBinning*)pl->FindObject("BinningEnergyEst", "MBinning");
    185184        if (bins)
    186185            binse.SetEdges(*bins);
  • trunk/MagicSoft/Mars/mhflux/Makefile

    r7110 r7170  
    3131           MHEffectiveOnTime.cc \
    3232           MHCollectionArea.cc \
     33           MHThreshold.cc \
    3334           MHFalseSource.cc \
    3435           MHDisp.cc \
  • trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc

    r6977 r7170  
    9393    fDCA->SetYTitle("Counts");
    9494    fDCADelta->SetYTitle("Counts");
     95
     96    fAlpha->SetMinimum(0);
     97    fCosDA->SetMinimum(0);
     98    fDCADelta->SetMinimum(0);
    9599}
    96100
  • trunk/MagicSoft/Mars/mjobs/MDataSet.cc

    r6958 r7170  
    326326{
    327327    if (!HasSource())
    328         return kFALSE;
     328    {
     329        gLog << err << "ERROR - MDataSet::GetSourcePos called, but no source available." << endl;
     330        return kFALSE;
     331    }
    329332
    330333    TString catalog(fCatalog);
     
    339342    }
    340343
    341     TString ra,dec,epoch;
     344    TString ra, dec, epoch;
    342345
    343346    Int_t n = 0;
     
    350353
    351354        n++;
    352         line = line.Strip(TString::kBoth);
    353 
    354         if (!line.BeginsWith(fNameSource))
     355
     356        // Strip all spaces from line
     357        for (int i=0; i<line.Length(); i++)
     358            if (line[i]==' ')
     359                line.Remove(i--, 1);
     360
     361        if (fNameSource!=line(0, fNameSource.Length()))
    355362            continue;
    356363
     
    362369            if (p<0 && i<5)
    363370            {
    364                 gLog << err << "Not enough arguments in line #" << n << endl;
    365                 return kFALSE;
     371                gLog << err << "ERROR - Not enough arguments in line #" << n << " of " << catalog << endl;
     372                return kFALSE;;
    366373            }
    367374
     
    387394        if (line.First(',')>=0)
    388395        {
    389             gLog << err << "Too much arguments in line #" << n << endl;
     396            gLog << err << "ERROR - Too much arguments in line #" << n << " of " << catalog << endl;
    390397            return kFALSE;
    391398        }
     399
    392400        break;
    393401    }
    394402
     403    if (epoch.IsNull())
     404    {
     405        gLog << err << "ERROR - No entry " << fNameSource << " in " << catalog << endl;
     406        return kFALSE;
     407    }
     408
    395409    if (epoch!=(TString)"2000")
    396410    {
    397         gLog << err << "Epoch not 2000... not supported." << endl;
     411        gLog << err << "ERROR - Epoch not 2000... not supported." << endl;
    398412        return kFALSE;
    399413    }
  • trunk/MagicSoft/Mars/mranforest/MRanForest.cc

    r2307 r7170  
    2424
    2525/////////////////////////////////////////////////////////////////////////////
    26 //                                                                         //
    27 // MRanForest                                                              //
    28 //                                                                         //
    29 // ParameterContainer for Forest structure                                 //
    30 //                                                                         //
    31 // A random forest can be grown by calling GrowForest.                     //
    32 // In advance SetupGrow must be called in order to initialize arrays and   //
    33 // do some preprocessing.                                                  //
    34 // GrowForest() provides the training data for a single tree (bootstrap    //
    35 // aggregate procedure)                                                    //
    36 //                                                                         //
    37 // Essentially two random elements serve to provide a "random" forest,     //
    38 // namely bootstrap aggregating (which is done in GrowForest()) and random //
    39 // split selection (which is subject to MRanTree::GrowTree())              //
    40 //                                                                         //
     26//
     27// MRanForest
     28//
     29// ParameterContainer for Forest structure
     30//
     31// A random forest can be grown by calling GrowForest.
     32// In advance SetupGrow must be called in order to initialize arrays and
     33// do some preprocessing.
     34// GrowForest() provides the training data for a single tree (bootstrap
     35// aggregate procedure)
     36//
     37// Essentially two random elements serve to provide a "random" forest,
     38// namely bootstrap aggregating (which is done in GrowForest()) and random
     39// split selection (which is subject to MRanTree::GrowTree())
     40//
     41// Version 2:
     42//  + fUserVal
     43//
    4144/////////////////////////////////////////////////////////////////////////////
    4245#include "MRanForest.h"
     
    5962// Default constructor.
    6063//
    61 MRanForest::MRanForest(const char *name, const char *title) : fNumTrees(100), fRanTree(NULL),fUsePriors(kFALSE)
     64MRanForest::MRanForest(const char *name, const char *title) : fNumTrees(100), fRanTree(NULL),fUsePriors(kFALSE), fUserVal(-1)
    6265{
    6366    fName  = name  ? name  : "MRanForest";
  • trunk/MagicSoft/Mars/mranforest/MRanForest.h

    r6479 r7170  
    7070    TArrayD fTreeHad;   //
    7171
     72    Double_t fUserVal;
     73
    7274    void InitHadEst(Int_t from, Int_t to, const TMatrix &m, TArrayI &jinbag);
    7375
     
    9193    void SetCurTree(MRanTree *rantree) { fRanTree=rantree; }
    9294    Bool_t AddTree(MRanTree *rantree);
     95    void SetUserVal(Double_t d) { fUserVal = d; }
    9396
    9497    // getter methods
     
    98101    MDataArray *GetRules() { return ((MRanTree*)(fForest->At(0)))->GetRules(); }
    99102
    100 
    101103    Int_t      GetNumTrees() const { return fNumTrees; }
    102104    Int_t      GetNumData()  const;
    103105    Int_t      GetNumDim()   const;
    104106    Double_t   GetTreeHad(Int_t i) const { return fTreeHad.At(i); }
     107    Double_t   GetUserVal() const { return fUserVal; }
    105108 
    106109    // use forest to calculate hadronness of event
     
    109112    Bool_t AsciiWrite(ostream &out) const;
    110113
    111     ClassDef(MRanForest, 1) // Storage container for tree structure
     114    ClassDef(MRanForest, 2) // Storage container for tree structure
    112115};
    113116
  • trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc

    r6968 r7170  
    3131// For files before file version 5 the trigger pattern is set to 00000000.
    3232//
     33// For more details see: MTriggerPattern
     34//
    3335/////////////////////////////////////////////////////////////////////////////
    3436#include "MFTriggerPattern.h"
  • trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.cc

    r5869 r7170  
    4040// For files before file version 5 the trigger pattern is set to 00000000.
    4141//
     42// --------------------------------------------------------------------------
     43//
     44// Here an explanation about the meaning of the Trigger Pattern.
     45// The trigger pattern is a 16-BIT number where are stored informations
     46// about which thriggers have been shot on each event. Every bit
     47// correspond to a prticular kind of trigger (Pedestal, Calibration,
     48// LT1, LT2, PIN Diode...) but the whole trigger pattern number
     49// is divided into two parts (from left to right):
     50//
     51// 1) The first concerns unprescaled triggers.
     52// 2) The second concerns prescaled triggers.
     53//
     54// The prescaler is a devise installed AFTER the LT2. It collects
     55// all kind of triggers and can prescale each trigger by a different
     56// prescaling factor. This means that we can set the prescaler to
     57// accept every LT2 trigger but only 1% of calibration triggers.
     58// Therefore LT2 prescaling factor will be set to 1, while CAL prescaling
     59// factor will be set to 100. If after the prescaler at least one trigger
     60// survives, then the event is considered "TRIGGERED" and aquired by the DAQ.
     61//
     62// The current BIT meaning is:
     63//
     64// BIT(0):  prescaled LT1
     65// BIT(1):  prescaled Calibration Trigger
     66// BIT(2):  prescaled LT2
     67// BIT(3):  prescaled Pedestal Trigger
     68// BIT(4):  prescaled Pin Diode
     69// BIT(5):  unused
     70// BIT(6):  unused
     71// BIT(7):  unused
     72// BIT(8):  unprescaled LT1
     73// BIT(9):  unprescaled Calibration Trigger
     74// BIT(10): unprescaled LT2
     75// BIT(11): unprescaled Pedestal Trigger
     76// BIT(12): unprescaled Pin Diode
     77// BIT(13): unused
     78// BIT(14): unused
     79// BIT(15): unused
     80//
     81// Why are we saving both prescaled and unprescaled triggers?
     82// Which should I look at? Let's give an example:
     83//
     84//    BIT #      15-14-13-12-11-10- 9- 8- 7- 6- 5- 4- 3- 2- 1- 0
     85//
     86//    event #1:   0  0  0  0  0  0  1  1  0  0  0  0  0  0  0  1
     87//    event #2:   0  0  0  0  0  0  1  1  0  0  0  0  0  0  1  1
     88//
     89// In both cases you have both CAL and LT1 trigger, but in first
     90// event calibration trigger is prescaled and in second event no
     91// trigger is prescaled. Imagine you are looking for calibration events.
     92// If you look at the prescale bits you are sure that events with CAL
     93// flag are calibration events (event #2) but you can miss other
     94// real calibration events (event #1). If you are lucky that
     95// the related prescaling factor is 1 you won't have this problem,
     96// otherway you will have it.
     97//
     98// To select events by the trigger pattern you should use MFTriggerPattern filter.
     99// This filter uses Require- and Deny- methods to select your trigger pattern.
     100// Require- methods requires that your trigger bit is ON, otherway the event
     101// is kicked out. Deny- methods requires that your trigger bit is OFF, otherway
     102// your event is kicked out. Other bits not selected by your Require- or Deny- call
     103// are ignored. Let's give an example. You want to select all events that have
     104// both LT1 and LT2 trigger but which are not calibration neither Pin Diode events.
     105// You should look at unprescaled bits to be sure
     106// about which were the initial triggers. Then you can implement in your macro
     107// something like:
     108//
     109//      MFTriggerPattern ftrigpatt;
     110//      ftrigpatt.RequireTriggerLvl1(MFTriggerPattern::kUnPrescaled);
     111//      ftrigpatt.RequireTriggerLvl2(MFTriggerPattern::kUnPrescaled);
     112//      ftrigpatt.DenyCalibration(MFTriggerPattern::kUnPrescaled);
     113//      ftrigpatt.DenyPinDiode(MFTriggerPattern::kUnPrescaled);
     114//
     115// Then you use in your tasklist as a usual MF filter. In this
     116// example Pedestal trigger flag is ignored. Consider that by default
     117// MFTriggerPattern::kUnPrescaled is set for Require- and Deny- methods.
     118//
     119// WARNING: please use MTriggerPatternDecode task to read the trigger pattern
     120// of the event and to fill MTriggerPattern container. If you use your
     121// private stuff to read MRawEvtHeader.fTriggerPattern[0] (data member
     122// where the trigger pattern is stored) you must invert all the bits of
     123// your number. Current hardware, infact, writes the trigger pattern bit-inverted.
     124//
     125//
     126// For further informations contact:
     127//
     128// Nicola Galante        nicola.galante@pi.infn.it
     129// Riccardo Paoletti     riccardo.paoletti@pi.infn.it
     130// Antonio Stamerra      antonio.stamerra@pi.infn.it
     131//
    42132/////////////////////////////////////////////////////////////////////////////
    43133#include "MTriggerPattern.h"
  • trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc

    r5869 r7170  
    3131// For files before file version 5 the trigger pattern is set to 00000000.
    3232// This can be changed using the information about the file-type.
     33//
     34// For more details see: MTriggerPattern
    3335//
    3436// Input:
Note: See TracChangeset for help on using the changeset viewer.