]>
Commit | Line | Data |
---|---|---|
c71b333a | 1 | Here are some instructions for running: |
2 | Once the KMCDetector object is initialized (similar to FER, see "Detector, tracking initialization" | |
3 | part of the testDetKMC.C macro) one should define for each kinematic bin to test a TObjArray with | |
4 | KMCTrackSummary objects (done in the testDetKMC.C by the CreateTrackConditions routine): | |
5 | this object is basically a set of standard histos (with DCA, pt_rec - pt_gen distibutions etc + stat. of generated | |
6 | and found tracks) which are filled provided the reco track satisfies to user defined conditions, like the number of | |
7 | hits (one can specify correct or fake hits, specific layers pattern etc). For instance: | |
8 | ||
9 | sm = new KMCTrackSummary("corr4hdGoodPatt","corr4hdGoodPatt",nlr); // create a summary object with this name | |
10 | ||
11 | sm->SetMinMaxClITS(4); // require at least 4 cluster in the track (the upper limit here is default 999 - no limit) | |
12 | ||
13 | sm->SetMinMaxClITSFake(0,0); // set min number of fake clusters required (used for fakes studies) and their max number tolerated | |
14 | ||
15 | sm->SetNamePrefix(nm); // this histo names will be prefixed by nm | |
16 | ||
17 | sm->AddPatternITSCorr( sm->Bits(1,1)); // require that the innermost 2 double layers must contribute at least 1 correct cluster | |
18 | ||
19 | sm->AddPatternITSCorr( sm->Bits(0,0,1)); // require the 3d layer cluster to be correct | |
20 | ||
21 | sm->AddPatternITSCorr( sm->Bits(0,0,0,1,1)); // measurement in the middle: ask at leas 1 correct cluster in 2 middle layers | |
22 | ||
23 | sm->AddPatternITSCorr( sm->Bits(0,0,0, 0,0, 1,1)); // same for outer 2 layers | |
24 | ||
25 | One can define and put in the TObjArray many such objects with different conditions, they will be filled independently. | |
26 | The simulation for single kinem. bin is done via call: | |
27 | ||
28 | its.SolveSingleTrack(mass, pt, eta, trSum, nevR); | |
29 | This will generate nevR tracks of given mass, pt, eta, propagate them, reconstruct under imposed bg, sensor err. conditions | |
30 | and fill the KMCTrackSummary objects provided via trSum TObjArray (i.e. histos of each object are filled if given reco track | |
31 | satisfies the criteria defined for this object). | |
32 | ||
33 | In the testDetKMC trSum arrays for each pt bin are added to another TObjArray (e.g. summary) which is then stored in | |
34 | the sumOut file. | |
35 | ||
36 | I also attach the PrepSummaryKMC.C macro to fill/return from this output file the TObjArray of TGraphErrors corresponding | |
37 | to given id of KMCTrackSummary. The call | |
38 | PrepSummaryKMC(const char* sumf, int cls, const char* pref=0, const char* outF=0); | |
39 | will open sumf output of the testDetKMC, and for all pt bins (indexing the entries of the final "summary" TObjArray | |
40 | of testDetKMC) it will extract the array of KMCTrackSummary objects defined in the CreateTrackConditions | |
41 | for this bin, then extract from it the cls-th KMCTrackSummary object and put the performance values for this pt bin | |
42 | (resolutions, eff ) as an entry in the graph. | |
43 | ||
44 | prepPlotsKMC1.C is just an example of preparing the graphs from the testDetKMC.C output objects. |