Difference: MuCapPKmta (1 vs. 7)

Revision 72011-04-21 - PeterWinter

Line: 1 to 1
 
META TOPICPARENT name="MuCapPKSomeNotes"
Changed:
<
<

mta program documentation

mta lives on src/uiuc/marcros/EventTree and the program is main.cpp

input/output

The input is a tree file, the output files are generated

TTree *tree;
TMucapEvent *g_event; // present tree entry, points to EventBlock
TTree *OdbTree;
TOdbEvent *g_odb;
MTAEvent *g_mtaEvent; // passed to histogramming modules; will hold pointer to event, pointer to both EventTree and OdbTree

static FADCEvent *g_fadcEvent; // pass to histogramming modules for analyzing FADC Tree File
static NeutronEvent *g_neutronEvent; // pass to histogramming modules for analyzing Neutron Tree File
static PixelEvent *g_pixelEvent;  // pass to histogramming modues for analyzing Pixel Shrubs
static NewTreeEvent *g_NewTreeEvent;
static ExElowEvent *g_ExElowEvent;  // pass to histogramming modules for analyzing ExElow shrubs
static TBranch *br;

Complicated calling:

g_mtaEvent->SetMucapEvent(g_event); // Don't get rid of this

The input tree is checked for the existence of branches

00191 printf("Main EventTree: %d, NeutronEventTree:%d, FadcEventTree:%d, StopPixelTree:%d\n",   
00192 MainEventTree,NeutronEventTree,FadcEventTree,PixelEventTree);   

and the input tree branches are assigned

00236  g_event = new TMucapEvent;  // initialization to zero is important    
00237  br = tree->GetBranch("EventBlock");    
00116 TBranch *br_wfd = tree->GetBranch("WfdEvent");     
00118 br_wfd->SetAddress(&fWfdEvent);      
00121 TBranch *br_neutron = tree->GetBranch("NeutronBlock");      
00123 br_neutron->SetAddress(&fNeutronEvent);      
00125 SetRunInfoEvent(0); // initialization to zero is important      
00126 TBranch *br_runinfo = tree->GetBranch("RunInfoEvent");      
00127 if (!br_runinfo) printf("did not find the RunInfoEvent branch\n");      
00128 br_runinfo->SetAddress(&fRunInfoEvent); 
  

The analysis options are set by a special options structure

 MTAOptions optCathAND_OneEl_GondCOMP(MTAOptions::kEpcCathAND, MTAOptions::kOneEl);
optCathAND_OneEl_GondCOMP.SetGondCOMP(); 

and Module switches as described in MTAGlobals.h

The histograms are defined with this mechanism, which can be commented out

00432   if(g_modSwitches.StudyPixelLists)
00433   fillhists[n_fillhist++] = new StudyPixelLists;

Finally, the eventloop is performed in root_event_loop().

root_event_loop()

In main a pointer array of this base class is defined: FillHistBase **fillhists;
HillHistBase has a number of virtual ProcessEntry methods, which get defined by the derived classes.

  • For each jentry the MucapEvent pointer is provided to g_mtaEvent->SetMucapEvent(g_event).
  • The event trigger is provided evdisp_trigger->SetMTAEvent(g_mtaEvent).
  • The histograms are filled q = fillhists[i]->ProcessGenericEntry(g_mtaEvent, g_neutronEvent, g_fadcEvent,g_pixelEvent).
    • MuonElectronPairHists is an example of a fillhists[i] pointer.
      MuEPair.h describes info for all the generated muEpairs, i.e. each muon with each electron within time cuts. Everything private,
      use accessor functions.
    • MuonElectronPairHists calls histogram module LifetimeVsPixelThreshold, which establishes TTree
      fTree = new TTree("StopPixelTree", "Variables of interest for mustop");

      fTree->SetDirectory((TDirectory*)fPixelptr);
      fTree->Branch("mustop",&mustop,"t/D:dt:x/F:y:z:b:optimalB:gy:gz:chisq:dlmin_head:theta1:theta2:seg1length:seg2length:gond/s:run:SparkROIFlags:muEntranceFlags:SparkSector:entQual/b:nContEH:nContEH_alt:nExEL:elec_def:scatter:istrack:nPixseg2:twoline");

      The key info for the pixel shrub is contained in

  • The event display is executed at the end of the loop if(evdisp_trigger->ProcessEntry(g_mtaEvent)).

EventDisplayTrigger

  • int EventDisplayTrigger::ProcessEntry ( MTAEvent * mtaEvent )
    loops through event and calls Display data

  • void EventDisplayTrigger::DisplayData ( double tmin, double tmax)
    displays data for time range

TMTAEventDisplay

AddHigherLevelObjects

  • If we have detected an ExtraELScatter topology then grab the extra line fit from the scatterInfo object that has been added to the muon at mta level Draw a line segment for this second point with a blue dot and red dot at the endpoints.
  • Draw a small diamond around the StopAnode and StopStrip pixels.
  • If the flag_color has been set (either its for a pad or it is a track+something special) then draw a star around the stop anode or draw a line if the muon "IsSuitable"

StudyPixelLists

  • fObjs[fNobj++] = new FitPixelLists(fTpcROI);
  • fObjs[fNobj++] = new ImproveTrackFit(fTpcROI);
  • fObjs[fNobj++] = new FindScatters(fTpcROI);
  • fObjs[fNobj++] = new FindScattersMWPC(fTpcROI);
    StudyPixelBase.png

  • tree.png:
    tree.png

  • pic.png:
    pic.png
>
>
Please go to https://muon.npl.washington.edu/twiki/bin/view/Main/MuCapPKmta
 
META FILEATTACHMENT attachment="StudyPixelBase.png" attr="" comment="" date="1242418604" name="StudyPixelBase.png" path="StudyPixelBase.png" size="8944" stream="StudyPixelBase.png" tmpFilename="/usr/tmp/CGItemp27427" user="PeterKammel" version="1"
META FILEATTACHMENT attachment="pic.png" attr="" comment="" date="1302213974" name="pic.png" path="pic.png" size="28423" stream="pic.png" tmpFilename="/tmp/FzzKiYKpel" user="PeterKammel" version="2"

Revision 62011-04-07 - PeterKammel

Line: 1 to 1
 
META TOPICPARENT name="MuCapPKSomeNotes"

mta program documentation

Line: 78 to 78
 
  • tree.png:
    tree.png
Added:
>
>
  • pic.png:
    pic.png
 
META FILEATTACHMENT attachment="StudyPixelBase.png" attr="" comment="" date="1242418604" name="StudyPixelBase.png" path="StudyPixelBase.png" size="8944" stream="StudyPixelBase.png" tmpFilename="/usr/tmp/CGItemp27427" user="PeterKammel" version="1"
Changed:
<
<
META FILEATTACHMENT attachment="pic.png" attr="" comment="" date="1254515920" name="pic.png" path="pic.png" size="29611" stream="pic.png" tmpFilename="/tmp/j__0RlkUqe" user="PeterKammel" version="1"
>
>
META FILEATTACHMENT attachment="pic.png" attr="" comment="" date="1302213974" name="pic.png" path="pic.png" size="28423" stream="pic.png" tmpFilename="/tmp/FzzKiYKpel" user="PeterKammel" version="2"
 
META FILEATTACHMENT attachment="tree.png" attr="" comment="" date="1269463966" name="tree.png" path="tree.png" size="33850" stream="tree.png" tmpFilename="/tmp/iC9G8PfluB" user="PeterKammel" version="1"

Revision 52010-03-25 - PeterKammel

Line: 1 to 1
 
META TOPICPARENT name="MuCapPKSomeNotes"

mta program documentation

Line: 47 to 47
 

root_event_loop()

Added:
>
>
In main a pointer array of this base class is defined: FillHistBase **fillhists;
HillHistBase has a number of virtual ProcessEntry methods, which get defined by the derived classes.
 
  • For each jentry the MucapEvent pointer is provided to g_mtaEvent->SetMucapEvent(g_event).
  • The event trigger is provided evdisp_trigger->SetMTAEvent(g_mtaEvent).
  • The histograms are filled q = fillhists[i]->ProcessGenericEntry(g_mtaEvent, g_neutronEvent, g_fadcEvent,g_pixelEvent).
Added:
>
>
    • MuonElectronPairHists is an example of a fillhists[i] pointer.
      MuEPair.h describes info for all the generated muEpairs, i.e. each muon with each electron within time cuts. Everything private,
      use accessor functions.
    • MuonElectronPairHists calls histogram module LifetimeVsPixelThreshold, which establishes TTree
      fTree = new TTree("StopPixelTree", "Variables of interest for mustop");

      fTree->SetDirectory((TDirectory*)fPixelptr);
      fTree->Branch("mustop",&mustop,"t/D:dt:x/F:y:z:b:optimalB:gy:gz:chisq:dlmin_head:theta1:theta2:seg1length:seg2length:gond/s:run:SparkROIFlags:muEntranceFlags:SparkSector:entQual/b:nContEH:nContEH_alt:nExEL:elec_def:scatter:istrack:nPixseg2:twoline");

      The key info for the pixel shrub is contained in
 
  • The event display is executed at the end of the loop if(evdisp_trigger->ProcessEntry(g_mtaEvent)).

EventDisplayTrigger

Revision 42010-03-24 - PeterKammel

Line: 1 to 1
 
META TOPICPARENT name="MuCapPKSomeNotes"

mta program documentation

Line: 6 to 6
 

input/output

The input is a tree file, the output files are generated

Changed:
<
<
00126 AppendSpecialShrubExtension(outfilename, "Pixel_", outPixel);
00129 AppendSpecialShrubExtension(outfilename, "FADC_", outFADC); 
00132 AppendSpecialShrubExtension(outfilename, "Neutron_", outNEUTRON);
00135 AppendSpecialShrubExtension(outfilename, "Impurity_", outIMPURITY); 
>
>
TTree *tree;
TMucapEvent *g_event; // present tree entry, points to EventBlock
TTree *OdbTree;
TOdbEvent *g_odb;
MTAEvent *g_mtaEvent; // passed to histogramming modules; will hold pointer to event, pointer to both EventTree and OdbTree

static FADCEvent *g_fadcEvent; // pass to histogramming modules for analyzing FADC Tree File
static NeutronEvent *g_neutronEvent; // pass to histogramming modules for analyzing Neutron Tree File
static PixelEvent *g_pixelEvent;  // pass to histogramming modues for analyzing Pixel Shrubs
static NewTreeEvent *g_NewTreeEvent;
static ExElowEvent *g_ExElowEvent;  // pass to histogramming modules for analyzing ExElow shrubs
static TBranch *br;

Complicated calling:

g_mtaEvent->SetMucapEvent(g_event); // Don't get rid of this
  The input tree is checked for the existence of branches

Revision 32010-03-24 - PeterKammel

Line: 1 to 1
 
META TOPICPARENT name="MuCapPKSomeNotes"

mta program documentation

Line: 52 to 52
 
  • fObjs[fNobj++] = new FindScatters(fTpcROI);
  • fObjs[fNobj++] = new FindScattersMWPC(fTpcROI);
    StudyPixelBase.png
Changed:
<
<
  • pic.png:
    pic.png
>
>
  • tree.png:
    tree.png
 
META FILEATTACHMENT attachment="StudyPixelBase.png" attr="" comment="" date="1242418604" name="StudyPixelBase.png" path="StudyPixelBase.png" size="8944" stream="StudyPixelBase.png" tmpFilename="/usr/tmp/CGItemp27427" user="PeterKammel" version="1"
META FILEATTACHMENT attachment="pic.png" attr="" comment="" date="1254515920" name="pic.png" path="pic.png" size="29611" stream="pic.png" tmpFilename="/tmp/j__0RlkUqe" user="PeterKammel" version="1"
Added:
>
>
META FILEATTACHMENT attachment="tree.png" attr="" comment="" date="1269463966" name="tree.png" path="tree.png" size="33850" stream="tree.png" tmpFilename="/tmp/iC9G8PfluB" user="PeterKammel" version="1"

Revision 22009-10-02 - PeterKammel

Line: 1 to 1
 
META TOPICPARENT name="MuCapPKSomeNotes"

mta program documentation

Line: 52 to 52
 
  • fObjs[fNobj++] = new FindScatters(fTpcROI);
  • fObjs[fNobj++] = new FindScattersMWPC(fTpcROI);
    StudyPixelBase.png
Added:
>
>
  • pic.png:
    pic.png
 
META FILEATTACHMENT attachment="StudyPixelBase.png" attr="" comment="" date="1242418604" name="StudyPixelBase.png" path="StudyPixelBase.png" size="8944" stream="StudyPixelBase.png" tmpFilename="/usr/tmp/CGItemp27427" user="PeterKammel" version="1"
Added:
>
>
META FILEATTACHMENT attachment="pic.png" attr="" comment="" date="1254515920" name="pic.png" path="pic.png" size="29611" stream="pic.png" tmpFilename="/tmp/j__0RlkUqe" user="PeterKammel" version="1"

Revision 12009-05-15 - PeterKammel

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="MuCapPKSomeNotes"

mta program documentation

mta lives on src/uiuc/marcros/EventTree and the program is main.cpp

input/output

The input is a tree file, the output files are generated

00126 AppendSpecialShrubExtension(outfilename, "Pixel_", outPixel);
00129 AppendSpecialShrubExtension(outfilename, "FADC_", outFADC); 
00132 AppendSpecialShrubExtension(outfilename, "Neutron_", outNEUTRON);
00135 AppendSpecialShrubExtension(outfilename, "Impurity_", outIMPURITY); 

The input tree is checked for the existence of branches

00191 printf("Main EventTree: %d, NeutronEventTree:%d, FadcEventTree:%d, StopPixelTree:%d\n",   
00192 MainEventTree,NeutronEventTree,FadcEventTree,PixelEventTree);   

and the input tree branches are assigned

00236  g_event = new TMucapEvent;  // initialization to zero is important    
00237  br = tree->GetBranch("EventBlock");    
00116 TBranch *br_wfd = tree->GetBranch("WfdEvent");     
00118 br_wfd->SetAddress(&fWfdEvent);      
00121 TBranch *br_neutron = tree->GetBranch("NeutronBlock");      
00123 br_neutron->SetAddress(&fNeutronEvent);      
00125 SetRunInfoEvent(0); // initialization to zero is important      
00126 TBranch *br_runinfo = tree->GetBranch("RunInfoEvent");      
00127 if (!br_runinfo) printf("did not find the RunInfoEvent branch\n");      
00128 br_runinfo->SetAddress(&fRunInfoEvent); 
  

The analysis options are set by a special options structure

 MTAOptions optCathAND_OneEl_GondCOMP(MTAOptions::kEpcCathAND, MTAOptions::kOneEl);
optCathAND_OneEl_GondCOMP.SetGondCOMP(); 

and Module switches as described in MTAGlobals.h

The histograms are defined with this mechanism, which can be commented out

00432   if(g_modSwitches.StudyPixelLists)
00433   fillhists[n_fillhist++] = new StudyPixelLists;

Finally, the eventloop is performed in root_event_loop().

root_event_loop()

  • For each jentry the MucapEvent pointer is provided to g_mtaEvent->SetMucapEvent(g_event).
  • The event trigger is provided evdisp_trigger->SetMTAEvent(g_mtaEvent).
  • The histograms are filled q = fillhists[i]->ProcessGenericEntry(g_mtaEvent, g_neutronEvent, g_fadcEvent,g_pixelEvent).
  • The event display is executed at the end of the loop if(evdisp_trigger->ProcessEntry(g_mtaEvent)).

EventDisplayTrigger

  • int EventDisplayTrigger::ProcessEntry ( MTAEvent * mtaEvent )
    loops through event and calls Display data

  • void EventDisplayTrigger::DisplayData ( double tmin, double tmax)
    displays data for time range

TMTAEventDisplay

AddHigherLevelObjects

  • If we have detected an ExtraELScatter topology then grab the extra line fit from the scatterInfo object that has been added to the muon at mta level Draw a line segment for this second point with a blue dot and red dot at the endpoints.
  • Draw a small diamond around the StopAnode and StopStrip pixels.
  • If the flag_color has been set (either its for a pad or it is a track+something special) then draw a star around the stop anode or draw a line if the muon "IsSuitable"

StudyPixelLists

  • fObjs[fNobj++] = new FitPixelLists(fTpcROI);
  • fObjs[fNobj++] = new ImproveTrackFit(fTpcROI);
  • fObjs[fNobj++] = new FindScatters(fTpcROI);
  • fObjs[fNobj++] = new FindScattersMWPC(fTpcROI);
    StudyPixelBase.png

META FILEATTACHMENT attachment="StudyPixelBase.png" attr="" comment="" date="1242418604" name="StudyPixelBase.png" path="StudyPixelBase.png" size="8944" stream="StudyPixelBase.png" tmpFilename="/usr/tmp/CGItemp27427" user="PeterKammel" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback