Re: BB vertex question

From: Djamel Ouerdane (ouerdane@nbi.dk)
Date: Thu Oct 25 2001 - 19:28:31 EDT

  • Next message: Djamel Ouerdane: "Re: BB vertex question"

    > Hi,
    >  From various posts of Christian and Djamel, I was under the impression 
    > that the
    > BB calibrations were currently in the db and that I should consequently be
    > using the db parameters when trying to find the bb vertex. Hence my series
    > of posts trying to figure out how to access the db.  However, now that I 
    > think
    > I have the db access figured out,  I don't
    > see anywhere in BrBbRdoModule.cxx code where the db calibrations are used.
    > Instead, the programs seems to be loading from ascii files.  
    > 
    > Am I missing something?
    
    
    Hi Steve,
    
    Yes, you're missing something crucial.
    BrBbRdoMoule is the old software which reads the ascii files made a long 
    time ago by Yury and updated from time to time.
    
    The calibration stored in the SQL db is handled by a completely different 
    software. The modules to use are:
    
      BrBbCalHitsModule to reconstruct calibrated hits (in time and energy)
      BrBbVertexModule  to reconstruct the vertex BrBbVertex
    
    Note: it's not BrBbRdo. If you have some software trying to get it,
    you'll run into trouble. If you want to get the vertex BrBbVertex,
    you should have this: 
      
     BrBbVertex* vtx = (BrBbVertex*)eventNode->GetVertex("BB Vertex");
     
     then: Double_t Z0 = vtx->GetZ0();
           Double_t T0 = vtx->GetTime0();
           Int_t method = vtx->GetMethod();
    
     method can be: 1 -> bug tubes only, 
                    2 -> small tubes only, (highly recommended!) 
        		3 -> fastest tubes
    
    
    I haven't had the time to complete the instruction I put in 
    <brat_src>/scripts/calib/bb. But I'll give you here what you need for 
    reconstruction after the DB access is done:
    
    somewhere in your bratmain script:
    
    // ----- BB rdo module
      BrBbCalHitsModule* bbHits = 
       new BrBbCalHitsModule("BB","BB Calibrated hit Module");
      bbHits->SetTreeOn(kFALSE);
      bbHits->SetUseOldCal(kFALSE); // for backward compatibility with the old cal
      bbHits->SetMaxTdc(3800);
      bbHits->SetMinTdc(10);
      mainModule->AddModule(bbHits);
    
      // ---- BB vertex module
      BrBbVertexModule* bbVtx = new BrBbVertexModule("BB", "BB Rdo Module");
      bbVtx->SetTreeOn(kFALSE);
      bbVtx->SetMaxTimeDiff(0.5); // (in ns) for outlier tubes
      bbVtx->SetZOffBig(19.64);
      bbVtx->SetZOffSmall(18.1);
      bbVtx->SetZOffFastest(0);   // I never use this one afterwards
      mainModule->AddModule(bbVtx);
    
    
    I insist on something: the BB calibration is now well under control with 
    the stuff I wrote. I encourage all the collab to use this new stuff. 
    
    Sure this will help you :)
    
    Ciao
    Djam
    
    -- 
    Djamel Ouerdane ------------------------------------------o
    |  Niels Bohr Intstitute     |  Home:                     |
    |  Blegdamsvej 17, DK-2100 Ø |  Jagtvej 141 2D,           |
    |  Fax: +45 35 32 50 16      |  DK-2200 Copenhagen N      |
    |  Tel: +45 35 32 52 69      |  +45 35 86 19 74           |
    |                  http://www.nbi.dk/~ouerdane            |
    |                  ouerdane@nbi.dk                        |
    o---------------------------------------------------------o
    



    This archive was generated by hypermail 2b30 : Thu Oct 25 2001 - 19:28:52 EDT