Hello everyone. I have just updated the entire vtx-directory in BRAT, and it is important that you read this message if you do any vertexing because THIS CHANGE BREAKS OLD CODE! This is the change I warned you about in my analysis-note a while back... Read below, and you will see why the change was neceseary. (I state this a bit strongly so that noone will kill me when their vertexing applications stop compiling ;-) First of all, I have added the class BrVertexModule. This is (or will be, as it is under construction) a superclass for vertexing. Currently it generates a BrVertex-object for BB, ZDC, TPM1 TrackVtx and TPM1 ClusterVtx, plus it makes one "global vertex" with what is assumed to be the "best" of these vertices. That means that this class can be used for all purpouses and will in any type of event give the best reconstructed vertex. Below I will describe how to use the module, but first: These are the changes in old modules: BrTPMTrackVertexModule: As before, but now adds a BrVertex named "TPM1 Track VtxData" to outputnode, i.e. NOT "VtxData" as before!!!! BrTPMClusterVertexModule: Hevily reworked, code cleaned up a lot, and now works better and faster. A bug that made it imposible to find a vertex outside +-40cm has been removed, and the module seems to work at least over +-80cm from z=0. Works as before, but now adds a BrVertex named "TPM1 Cluster VtxData" to outputnode, i.e. NOT "VtxData" as before!!!! (Christian: You made some changes in this module to make it compile under WinDoze - since I do not know just what that was I may have destroyed these. Please check!) BrRdoModuleBB: Near the end of event() I added if()-statements to two lines that fill histograms. The lines caused a seg. fault if DefineHistograms() had not been run (the histo's are then not created). Now, how to use BrVertexModule: First of all, create it like any other module: BrVertexModule *fVertexModule = new BrVertexModule("VtxModule","Vertex Module"); You can decide not to use one or more of the vertexing-modules by setting fVertexModule->SetBBOff(), SetZDCOff(), SetTPM1cOff() or SetTPM1tOff(), but by default they are all used. Then, for each event, do: 1) Clusterfinding (needed for both TPM1-methods) 2) Tracking (needed for BrTPMTrackVertexMod.) 3) Do fVertexModule->SetDetectorHits(fClusterFinder->GetDetectorHits()) (needed for BrTPMClusterVertexMod.) 4) Do fVertexModule->Event(event,vtx_node); where event is the raw event containing TPM1 tracks, BB- and ZDC-data and vtx_node is a new BrEventNode. In vtx_node the following is put: BrVertex called "BB VtxData" BrVertex called "ZDC VtxData" BrVertex called "TPM1 Cluster VtxData" BrVertex called "TPM1 Track VtxData" BrVertex called "VtxData" The last one is the "global" vertex, and is filled in this way: If the cluster-vtx has a good det. (below a settable cut) this z is put in. If not, I check to see if the track-vtx is good - the reason for this ordering is that the cluster-algorithm has the best efficiency even though it is a bit slower. If none of these are present or good the BB data is put in, and finally if it is the only one present the ZDC-data is used. Which one was used can be tested by the method Int_t BrVertex::GetVertexMethodUsed(): // 0 = none // 1 = BrTPMClusterVertexModule // 2 = BrTPMTrackVertexModule // 3 = BB // 4 = ZDC I guess you can now see why I had to change the default names of the BrVertex-objects - they had to be different to be put in the same node... Now - what is still to be done? Well, the method described above for selecting the "best" vertex is very primitive - I will, after discussing a bit with Yury and Michael, make a better one... Also note that I currently assume that there is no z-offset in either BB or ZDC. We know that the ZDC at least has an offset, so if someone has an "official" value for this I will include it. If not, I will make my own best estimate via a gaussian fit to ZDC-data. For those interested in how the code currently works, have a look at this file: www.fys.uio.no/~bjornhs/BrVertexModuleOutput.ps It is a compilation of vtx-correlations from run 2235, seq 0 (10000 events). The top row shows the distributions of all found vertices for the four methods, while the three bottom rows show error-distributions and correlations for trigger 6-events with a few loose cuts on the TPC-modules. Lastly I show the "multiplicity"-distr. from BrTrackFollowFinder and the SumADC-distr (min-bias) from the tiles. This figure is not meant as an analysis result - just to show you that all the code still works and in some places better than before :-) Well - that was a long mail. Please send me any questions and comments, and stay tuned for updates of BrVertexModule. Ping :-) ------------------------------------------------ Bjorn H. Samset Master-student in Heavy Ion physics Mob: +47 92 05 19 98 Office: +47 22 85 77 62 Adr: Kri 2A709 Sognsveien 218 0864 Oslo
This archive was generated by hypermail 2b29 : Tue Nov 07 2000 - 12:07:10 EST