Changeset 18331 for branches


Ignore:
Timestamp:
09/02/15 11:05:56 (9 years ago)
Author:
Jens Buss
Message:
merged master to branch
Location:
branches/MarsGapdTimeJitter
Files:
6 edited
8 copied

Legend:

Unmodified
Added
Removed
  • branches/MarsGapdTimeJitter

  • branches/MarsGapdTimeJitter/ceres.rc

    r18038 r18331  
    134134ConesTransmission.FileName:            resmc/fact/Transmittance_1439Cones_FACT_bearbeitet.txt
    135135
     136# A backward motivated overall PDE adjustment. Introduced by Fabian T. to produce the ICRC2015 Crab spectrum. Fabian, please comment a bit more on this. In case this is only about the additional shielding of our camera support structure, then we schould actually name it like this.
     137
     138AdditionalPhotonAcceptance.Function.Name:  0.8
     139AdditionalPhotonAcceptance.Function.Npx:   100L
     140AdditionalPhotonAcceptance.Function.Xmin:  290L
     141AdditionalPhotonAcceptance.Function.Xmax:  900L
     142
    136143# -------------------------------------------------------------------------
    137144# Setup what in MMCS would be called "additional spot size"
     
    238245
    239246ResidualTimeSpread.Val: 0.0
    240 
    241247# last line comment
  • branches/MarsGapdTimeJitter/fact/analysis/callisto.C

    r18282 r18331  
    2121
    2222    MStatusDisplay *d = new MStatusDisplay;
     23
     24    // ------------------------------------------------------
     25
     26    // ------------------------------------------------------
     27
     28    // Calib: 51 / 90 / 197 (20% TH)
     29    // Data:  52 / 64 / 104 (20% TH)
     30
     31    // Extraction range in slices. It will always(!) contain the full range
     32    // of integration
     33    const int first_slice =  25; //  10ns
     34    const int last_slice  = 225; // 125ns
     35
     36    const double heighttm   = 0.5; // IntegralAbs { 1.5pe * 9.6mV/pe } / IntegralRel { 0.5 }
     37
     38    Long_t max  =    0;  // All
     39    Long_t max0 =  max;  // Time marker
     40    Long_t max1 =  max;  // Light pulser
     41    //Long_t max2 = 3000;  // Calibration ratio
     42    Long_t max3 =  max;  // Pedestal Rndm
     43    Long_t max4 =  max;  // Pedestal Ext
     44    Long_t max5 =  max;  // Data
     45
     46    // ========================= Result ==================================
     47
     48    //double scale = 0.1;
     49    double scale = 0.1024;
     50
     51    // ======================================================
     52
     53    if (map && gSystem->AccessPathName(map, kFileExists))
     54    {
     55        gLog << err << "ERROR - Cannot access mapping file '" << map << "'" << endl;
     56        return 1;
     57    }
     58
     59    // The sequence file which defines the files for the analysis
     60    MSequence seq(seqfile);
     61    if (!seq.IsValid())
     62    {
     63        gLog << err << "ERROR - Sequence '" << seqfile << "' invalid!" << endl;
     64        return 2;
     65    }
    2366
    2467    MBadPixelsCam badpixels;
     
    3881    //    1393
    3982
    40     // ------------------------------------------------------
    41 
    42     // ------------------------------------------------------
    43 
    44     // Calib: 51 / 90 / 197 (20% TH)
    45     // Data:  52 / 64 / 104 (20% TH)
    46 
    47     // Extraction range in slices. It will always(!) contain the full range
    48     // of integration
    49     const int first_slice =  25; //  10ns
    50     const int last_slice  = 225; // 125ns
    51 
    52     const double heighttm   = 0.5; // IntegralAbs { 1.5pe * 9.6mV/pe } / IntegralRel { 0.5 }
    53 
    54     Long_t max  =    0;  // All
    55     Long_t max0 =  max;  // Time marker
    56     Long_t max1 =  max;  // Light pulser
    57     //Long_t max2 = 3000;  // Calibration ratio
    58     Long_t max3 =  max;  // Pedestal Rndm
    59     Long_t max4 =  max;  // Pedestal Ext
    60     Long_t max5 =  max;  // Data
    61 
    62     // ========================= Result ==================================
    63 
    64     //double scale = 0.1;
    65     double scale = 0.1024;
    66 
    67     // ======================================================
    68 
    69     if (map && gSystem->AccessPathName(map, kFileExists))
    70     {
    71         gLog << err << "ERROR - Cannot access mapping file '" << map << "'" << endl;
    72         return 1;
    73     }
    74 
    75     // The sequence file which defines the files for the analysis
    76     MSequence seq(seqfile);
    77     if (!seq.IsValid())
    78     {
    79         gLog << err << "ERROR - Sequence '" << seqfile << "' invalid!" << endl;
    80         return 2;
     83    // broken drs-board:
     84    //   https://www.fact-project.org/logbook/showthread.php?tid=3521
     85    // in the analysis effect visible 10.1. - 25.5.2015
     86    // according to logbook:
     87    //   first report of problem:
     88    //   https://www.fact-project.org/logbook/showthread.php?tid=2772&pid=15756#pid15756
     89    //   repair action:
     90    //   https://www.fact-project.org/logbook/showthread.php?tid=3298
     91    // affected pixels:
     92    //   SW: 1193 1194 1195 1391 1392 1393 1304 1305 1306
     93    if (seq.GetNight().GetNightAsInt()>20141114 && seq.GetNight().GetNightAsInt()<20150526)
     94    {
     95        gLog << "Exclude broken drs-board..." << endl;
     96        badpixels[1193].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     97        badpixels[1194].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     98        badpixels[1195].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     99        badpixels[1391].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     100        badpixels[1392].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     101        badpixels[1393].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     102        badpixels[1304].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     103        badpixels[1305].SetUnsuitable(MBadPixelsPix::kUnsuitable);
     104        badpixels[1306].SetUnsuitable(MBadPixelsPix::kUnsuitable);
    81105    }
    82106
  • branches/MarsGapdTimeJitter/fact/processing/buildseqentries.C

    r18282 r18331  
    136136        if (arr.GetEntries()>2)
    137137            fMax = GetId(arr[2]->GetName());
     138        cout << "----> " << fMin << " " << fMax << endl;
    138139    }
    139140
     
    217218        if (run>0)
    218219        {
     220            cout << " - - > " << run << endl;
    219221            if (run<fMin || run>fMax)
    220222                return kFALSE;
     
    915917    }
    916918
    917     TString PrepareString(TSQLResult &res, TArrayL &runs)
     919    TString PrepareString(TSQLResult &res, TArrayL &runs, TArrayL &nights)
    918920    {
    919921        // Number of result rows
     
    921923
    922924        runs.Set(rows);       // initialize size of array for run numbers
     925        nights.Set(rows);       // initialize size of array for nights
    923926
    924927        TArrayD start(rows);  // instantiate array for start times
     
    932935        {
    933936            runs[idx] = atol((*row)[0]);          // run number
     937            nights[idx] = atol((*row)[4]);          // night
    934938
    935939            const TString tstart = ((*row)[2]);   // start time
     
    10211025        /*const*/
    10221026        TString query =
    1023             "SELECT fRunID, fRunTypeKEY, fRunStart, fRunStop"
     1027            "SELECT fRunID, fRunTypeKEY, fRunStart, fRunStop, fNight*1000 "
    10241028            " FROM RunInfo WHERE fExcludedFDAKEY=1 AND ";
    10251029        query += Form("fRunID BETWEEN %ld AND %ld AND "
     
    10381042        // and an array with the corresponding run-numbers
    10391043        TArrayL runs;
    1040         const TString str = PrepareString(*res, runs);
     1044        TArrayL nights;
     1045        const TString str = PrepareString(*res, runs, nights);
    10411046
    10421047        delete res;
     
    10711076            {
    10721077                // Check if regular expressions matchs
    1073                 const Ssiz_t len = obj->Match(str, pos, runs[pos]);
     1078                const Ssiz_t len = obj->Match(str, pos, nights[pos]);
    10741079                if (len>0)
    10751080                {
  • branches/MarsGapdTimeJitter/fact/resources/sequences.rc

    r15236 r18331  
    225225BGBB?TU?PP? 0
    226226PCD+        0
     227BGPP?       20150716
     228P?D+        20150716
    227229
    228230#[bB][gG][bB][bB][tT][pP][pP] 0 20120116
  • branches/MarsGapdTimeJitter/mimage/MImgCleanTime.cc

    r17860 r18331  
    9999    const Float_t time1 = pix1.GetArrivalTime();
    100100
     101    if (pix1.IsPixelUnmapped())
     102        return Island(0,time1);
     103
    101104    Island island(pix1.GetNumPhotons(), time1);
    102105
     
    106109
    107110        MSignalPix &pix2 = (*fEvt)[idx2];
     111        if (pix2.IsPixelUnmapped())
     112            continue;
    108113
    109114        const Int_t island2 = pix2.GetIdxIsland();
     
    137142Int_t MImgCleanTime::Process()
    138143{
    139     // The assumption is that all pixels contain valid data
     144    // The assumption is that all mapped pixels contain valid data
    140145    const UInt_t npix = fEvt->GetNumPixels();
    141146    for (UInt_t i=0; i<npix; i++)
    142147    {
    143148        MSignalPix &pix = (*fEvt)[i];
    144         pix.SetPixelUnused();
     149        if (!pix.IsPixelUnmapped())
     150            pix.SetPixelUnused();
    145151        pix.SetPixelCore(kFALSE);
    146152        pix.SetIdxIsland(-1);
     
    182188        // The ideal cut would be to allow that a single
    183189        // pixel still can connect two clusters
    184         if (I1.count==1 || I1.count==1)
     190        if (I1.count==1 || I2.count==1)
    185191            continue;
    186192
Note: See TracChangeset for help on using the changeset viewer.