Skip to content

How can I use FT based Pid when filtering data events ?

dglazier edited this page Jul 2, 2020 · 3 revisions

Using the Run_aFS.C scipt you can get the clas12reader object and tell it to use FT based as in clas12root,

   HipoData hdata;
   hdata.SetFile("/work/jlab/clas12data/pass1_test/skim8_005051.hipo");
   hdata.Reader()->useFTBased();

Using chanser_proof you can control the clas12reader from the HipoChain,

clas12root::HipoChain chain;
chain.Add("/work/jlab/clas12data/pass1_test/skim8_005051.hipo");
chain.SetReaderTags({0});
chain.GetC12Reader()->useFTBased();

If you like you can even add extra filters, which may give some speed improvement. See clas12root Ex1_CLAS12ReaderChain.C for more configurations on the clas12reader via the HipoChain. Examples ,

chain.GetC12Reader()->addExactPid(11,1);    //exactly 1 electron
chain.GetC12Reader()->addExactPid(211,2);    //exactly 2 pi+
chain.GetC12Reader()->addExactPid(-211,1);    //exactly 1 pi-
chain.GetC12Reader()->addExactPid(22, 0); //exactly 0 gamma
chain.GetC12Reader()->addExactPid(2212,0); //exactly 0 proton