ROOT logo
//*-- AUTHOR : J. Markert
//_HADES_CLASS_DESCRIPTION 
////////////////////////////////////////////////////////////////////////////
// HMdcTrackFitPar
//
// Container class for Dubna track fitter parameters
//
////////////////////////////////////////////////////////////////////////////
using namespace std;
#include "hmdctrackfitpar.h"
#include "hparamlist.h"
#include <iostream> 
#include <iomanip>
#include <stdlib.h>

ClassImp(HMdcTrackFitPar)

HMdcTrackFitPar::HMdcTrackFitPar(const Char_t* name,const Char_t* title,
                       const Char_t* context)
    : HParCond(name,title,context)
{
    //
    clear();
}
HMdcTrackFitPar::~HMdcTrackFitPar()
{
  // destructor
}
void HMdcTrackFitPar::clear()
{
    cutWeight     = -99;
    tofFlag       = -99;
    doTargScan    = -99;

    minTimeOffset = -99;
    maxTimeOffset = -99;
    minCellsNum   = -99;
    chi2CutFlag   = -99;
    totalChi2Cut  = -99;
    chi2PerNdfCut = -99;

    useTukeyFlag  = -99;
    cnWs          = -99;
    cn2s          = -99;
    cn4s          = -99;
    minSig2       = -99;
    maxNFilterIter= -99;
    minWeight     = -99;
    maxChi2       = -99;

    minTOffsetIter= -99;

    funCt1        = -99;
    stepD1        = -99;
    funCt2        = -99;
    stepD2        = -99;
    stepD3        = -99;


    status=kFALSE;
    resetInputVersions();
    changed=kFALSE;
}
void HMdcTrackFitPar::printParam(void)
{
    // prints the parameters of HMdcTrackFitPar to the screen.
    printf("############################################################################################\n");
    printf("HMdcTrackFitPar:\n");
    printf("cutWeight      = %f \n" ,cutWeight     );
    printf("tofFlag        = %i \n" ,tofFlag       );
    printf("doTargScan     = %i \n" ,doTargScan    );

    printf("minTimeOffset  = %f \n" ,minTimeOffset );
    printf("maxTimeOffset  = %f \n" ,maxTimeOffset );
    printf("minCellsNum    = %i \n" ,minCellsNum   );
    printf("chi2CutFlag    = %i \n" ,chi2CutFlag   );
    printf("totalChi2Cut   = %f \n" ,totalChi2Cut  );
    printf("chi2PerNdfCut  = %f \n" ,chi2PerNdfCut );

    printf("useTukeyFlag   = %i \n" ,useTukeyFlag  );
    printf("cnWs           = %f \n" ,cnWs          );
    printf("cn2s           = %f \n" ,cn2s          );
    printf("cn4s           = %f \n" ,cn4s          );
    printf("minSig2        = %f \n" ,minSig2       );
    printf("maxNFilterIter = %i \n" ,maxNFilterIter);
    printf("minWeight      = %f \n" ,minWeight     );
    printf("maxChi2        = %f \n" ,maxChi2       );

    printf("minTOffsetIter = %f \n" ,minTOffsetIter);

    printf("funCt1         = %f \n" ,funCt1        );
    printf("stepD1         = %f \n" ,stepD1        );
    printf("funCt2         = %f \n" ,funCt2        );
    printf("stepD2         = %f \n" ,stepD2        );
    printf("stepD3         = %f \n" ,stepD3        );
    printf("############################################################################################\n");
}
void HMdcTrackFitPar::putParams(HParamList* l)
{
    // Puts all params of HMdcTrackFitPar to the parameter list of
    // HParamList (which ist used by the io);
    if (!l) return;
    l->add("cutWeight"     ,cutWeight     );
    l->add("tofFlag"       ,tofFlag       );
    l->add("doTargScan"    ,doTargScan    );

    l->add("minTimeOffset" ,minTimeOffset );
    l->add("maxTimeOffset" ,maxTimeOffset );
    l->add("minCellsNum"   ,minCellsNum   );
    l->add("chi2CutFlag"   ,chi2CutFlag   );
    l->add("totalChi2Cut"  ,totalChi2Cut  );
    l->add("chi2PerNdfCut" ,chi2PerNdfCut );

    l->add("useTukeyFlag"  ,useTukeyFlag  );
    l->add("cnWs"          ,cnWs          );
    l->add("cn2s"          ,cn2s          );
    l->add("cn4s"          ,cn4s          );
    l->add("minSig2"       ,minSig2       );
    l->add("maxNFilterIter",maxNFilterIter);
    l->add("minWeight"     ,minWeight     );
    l->add("maxChi2"       ,maxChi2       );

    l->add("minTOffsetIter",minTOffsetIter);

    l->add("funCt1"        ,funCt1        );
    l->add("stepD1"        ,stepD1        );
    l->add("funCt2"        ,funCt2        );
    l->add("stepD2"        ,stepD2        );
    l->add("stepD3"        ,stepD3        );

}
Bool_t HMdcTrackFitPar::getParams(HParamList* l)
{
    if (!l) return kFALSE;

    if(!(l->fill("cutWeight"     ,&cutWeight     ))) return kFALSE;
    if(!(l->fill("tofFlag"       ,&tofFlag       ))) return kFALSE;
    if(!(l->fill("doTargScan"    ,&doTargScan    ))) return kFALSE;

    if(!(l->fill("minTimeOffset" ,&minTimeOffset ))) return kFALSE;
    if(!(l->fill("maxTimeOffset" ,&maxTimeOffset ))) return kFALSE;
    if(!(l->fill("minCellsNum"   ,&minCellsNum   ))) return kFALSE;
    if(!(l->fill("chi2CutFlag"   ,&chi2CutFlag   ))) return kFALSE;
    if(!(l->fill("totalChi2Cut"  ,&totalChi2Cut  ))) return kFALSE;
    if(!(l->fill("chi2PerNdfCut" ,&chi2PerNdfCut ))) return kFALSE;

    if(!(l->fill("useTukeyFlag"  ,&useTukeyFlag  ))) return kFALSE;
    if(!(l->fill("cnWs"          ,&cnWs          ))) return kFALSE;
    if(!(l->fill("cn2s"          ,&cn2s          ))) return kFALSE;
    if(!(l->fill("cn4s"          ,&cn4s          ))) return kFALSE;
    cn2s = cn4s*cn4s/cnWs;
    if(!(l->fill("minSig2"       ,&minSig2       ))) return kFALSE;
    if(!(l->fill("maxNFilterIter",&maxNFilterIter))) return kFALSE;
    if(!(l->fill("minWeight"     ,&minWeight     ))) return kFALSE;
    if(!(l->fill("maxChi2"       ,&maxChi2       ))) return kFALSE;

    if(!(l->fill("minTOffsetIter",&minTOffsetIter))) return kFALSE;

    if(!(l->fill("funCt1"        ,&funCt1        ))) return kFALSE;
    if(!(l->fill("stepD1"        ,&stepD1        ))) return kFALSE;
    if(!(l->fill("funCt2"        ,&funCt2        ))) return kFALSE;
    if(!(l->fill("stepD2"        ,&stepD2        ))) return kFALSE;
    if(!(l->fill("stepD3"        ,&stepD3        ))) return kFALSE;


    return kTRUE;
}
 hmdctrackfitpar.cc:1
 hmdctrackfitpar.cc:2
 hmdctrackfitpar.cc:3
 hmdctrackfitpar.cc:4
 hmdctrackfitpar.cc:5
 hmdctrackfitpar.cc:6
 hmdctrackfitpar.cc:7
 hmdctrackfitpar.cc:8
 hmdctrackfitpar.cc:9
 hmdctrackfitpar.cc:10
 hmdctrackfitpar.cc:11
 hmdctrackfitpar.cc:12
 hmdctrackfitpar.cc:13
 hmdctrackfitpar.cc:14
 hmdctrackfitpar.cc:15
 hmdctrackfitpar.cc:16
 hmdctrackfitpar.cc:17
 hmdctrackfitpar.cc:18
 hmdctrackfitpar.cc:19
 hmdctrackfitpar.cc:20
 hmdctrackfitpar.cc:21
 hmdctrackfitpar.cc:22
 hmdctrackfitpar.cc:23
 hmdctrackfitpar.cc:24
 hmdctrackfitpar.cc:25
 hmdctrackfitpar.cc:26
 hmdctrackfitpar.cc:27
 hmdctrackfitpar.cc:28
 hmdctrackfitpar.cc:29
 hmdctrackfitpar.cc:30
 hmdctrackfitpar.cc:31
 hmdctrackfitpar.cc:32
 hmdctrackfitpar.cc:33
 hmdctrackfitpar.cc:34
 hmdctrackfitpar.cc:35
 hmdctrackfitpar.cc:36
 hmdctrackfitpar.cc:37
 hmdctrackfitpar.cc:38
 hmdctrackfitpar.cc:39
 hmdctrackfitpar.cc:40
 hmdctrackfitpar.cc:41
 hmdctrackfitpar.cc:42
 hmdctrackfitpar.cc:43
 hmdctrackfitpar.cc:44
 hmdctrackfitpar.cc:45
 hmdctrackfitpar.cc:46
 hmdctrackfitpar.cc:47
 hmdctrackfitpar.cc:48
 hmdctrackfitpar.cc:49
 hmdctrackfitpar.cc:50
 hmdctrackfitpar.cc:51
 hmdctrackfitpar.cc:52
 hmdctrackfitpar.cc:53
 hmdctrackfitpar.cc:54
 hmdctrackfitpar.cc:55
 hmdctrackfitpar.cc:56
 hmdctrackfitpar.cc:57
 hmdctrackfitpar.cc:58
 hmdctrackfitpar.cc:59
 hmdctrackfitpar.cc:60
 hmdctrackfitpar.cc:61
 hmdctrackfitpar.cc:62
 hmdctrackfitpar.cc:63
 hmdctrackfitpar.cc:64
 hmdctrackfitpar.cc:65
 hmdctrackfitpar.cc:66
 hmdctrackfitpar.cc:67
 hmdctrackfitpar.cc:68
 hmdctrackfitpar.cc:69
 hmdctrackfitpar.cc:70
 hmdctrackfitpar.cc:71
 hmdctrackfitpar.cc:72
 hmdctrackfitpar.cc:73
 hmdctrackfitpar.cc:74
 hmdctrackfitpar.cc:75
 hmdctrackfitpar.cc:76
 hmdctrackfitpar.cc:77
 hmdctrackfitpar.cc:78
 hmdctrackfitpar.cc:79
 hmdctrackfitpar.cc:80
 hmdctrackfitpar.cc:81
 hmdctrackfitpar.cc:82
 hmdctrackfitpar.cc:83
 hmdctrackfitpar.cc:84
 hmdctrackfitpar.cc:85
 hmdctrackfitpar.cc:86
 hmdctrackfitpar.cc:87
 hmdctrackfitpar.cc:88
 hmdctrackfitpar.cc:89
 hmdctrackfitpar.cc:90
 hmdctrackfitpar.cc:91
 hmdctrackfitpar.cc:92
 hmdctrackfitpar.cc:93
 hmdctrackfitpar.cc:94
 hmdctrackfitpar.cc:95
 hmdctrackfitpar.cc:96
 hmdctrackfitpar.cc:97
 hmdctrackfitpar.cc:98
 hmdctrackfitpar.cc:99
 hmdctrackfitpar.cc:100
 hmdctrackfitpar.cc:101
 hmdctrackfitpar.cc:102
 hmdctrackfitpar.cc:103
 hmdctrackfitpar.cc:104
 hmdctrackfitpar.cc:105
 hmdctrackfitpar.cc:106
 hmdctrackfitpar.cc:107
 hmdctrackfitpar.cc:108
 hmdctrackfitpar.cc:109
 hmdctrackfitpar.cc:110
 hmdctrackfitpar.cc:111
 hmdctrackfitpar.cc:112
 hmdctrackfitpar.cc:113
 hmdctrackfitpar.cc:114
 hmdctrackfitpar.cc:115
 hmdctrackfitpar.cc:116
 hmdctrackfitpar.cc:117
 hmdctrackfitpar.cc:118
 hmdctrackfitpar.cc:119
 hmdctrackfitpar.cc:120
 hmdctrackfitpar.cc:121
 hmdctrackfitpar.cc:122
 hmdctrackfitpar.cc:123
 hmdctrackfitpar.cc:124
 hmdctrackfitpar.cc:125
 hmdctrackfitpar.cc:126
 hmdctrackfitpar.cc:127
 hmdctrackfitpar.cc:128
 hmdctrackfitpar.cc:129
 hmdctrackfitpar.cc:130
 hmdctrackfitpar.cc:131
 hmdctrackfitpar.cc:132
 hmdctrackfitpar.cc:133
 hmdctrackfitpar.cc:134
 hmdctrackfitpar.cc:135
 hmdctrackfitpar.cc:136
 hmdctrackfitpar.cc:137
 hmdctrackfitpar.cc:138
 hmdctrackfitpar.cc:139
 hmdctrackfitpar.cc:140
 hmdctrackfitpar.cc:141
 hmdctrackfitpar.cc:142
 hmdctrackfitpar.cc:143
 hmdctrackfitpar.cc:144
 hmdctrackfitpar.cc:145
 hmdctrackfitpar.cc:146
 hmdctrackfitpar.cc:147
 hmdctrackfitpar.cc:148
 hmdctrackfitpar.cc:149
 hmdctrackfitpar.cc:150
 hmdctrackfitpar.cc:151
 hmdctrackfitpar.cc:152
 hmdctrackfitpar.cc:153
 hmdctrackfitpar.cc:154
 hmdctrackfitpar.cc:155
 hmdctrackfitpar.cc:156
 hmdctrackfitpar.cc:157
 hmdctrackfitpar.cc:158
 hmdctrackfitpar.cc:159
 hmdctrackfitpar.cc:160
 hmdctrackfitpar.cc:161
 hmdctrackfitpar.cc:162
 hmdctrackfitpar.cc:163
 hmdctrackfitpar.cc:164
 hmdctrackfitpar.cc:165
 hmdctrackfitpar.cc:166
 hmdctrackfitpar.cc:167