diff --git a/src/elastico.cc b/src/elastico.cc index e1ae77897f5a2973e6da9cd185cf6efdbaa3890e..94349b2b98cd7be7cfc2f09761f1ec9253171ce5 100644 --- a/src/elastico.cc +++ b/src/elastico.cc @@ -120,9 +120,9 @@ void ElasticProcessor::makeAppendToBulkRequest(std::ostringstream &particle_data uint32_t chrgv = (ms >> shifts::chrgv) & masks::chrgv; uint32_t index = (ms >> shifts::index) & masks::index; float phi = ((ms >> shifts::phi) & masks::phi)*gmt_scales::phi_scale; - uint32_t ieta = (ms >> shifts::eta) & masks::etav; - if(((mf >> shifts::eta) & masks::etas)!=0) ieta -= 512; - float eta = ieta*gmt_scales::eta_scale; + // uint32_t ieta = (ms >> shifts::eta) & masks::etav; +// if(((mf >> shifts::eta) & masks::etas)!=0) ieta -= 512; + // float eta = ieta*gmt_scales::eta_scale; (void)(iso); // TODO: Unused variable (void)(chrgv); // TODO: Unused variable @@ -132,7 +132,7 @@ void ElasticProcessor::makeAppendToBulkRequest(std::ostringstream &particle_data particle_data << "{\"index\" : {}}\n" << "{\"orbit\": " << orbit << ',' << "\"bx\": " << bx << ',' - << "\"eta\": " << eta << ',' +// << "\"eta\": " << eta << ',' << "\"phi\": " << phi << ',' << "\"etap\": " << etaext << ',' << "\"phip\": " << phiext << ',' diff --git a/src/format.h b/src/format.h index f961c8e4837bcfcf69258b0d89bee1b8a7c27736..26f093c5ac14f14d525727dad78c3d3bfa1100e0 100644 --- a/src/format.h +++ b/src/format.h @@ -5,8 +5,8 @@ #include <math.h> struct block1{ - uint32_t bx[8]; uint32_t orbit[8]; + uint32_t bx[8]; uint32_t mu1f[8]; uint32_t mu1s[8]; uint32_t mu2f[8]; @@ -19,12 +19,13 @@ struct muon{ }; struct block{ - uint32_t bx; uint32_t orbit; + uint32_t bx; muon mu[16]; }; -struct masks{ +//original format +/*struct masks{ //bx word: 16 bits used for actual bx, MS 4 bits are muon type //(0xf intermediate, 0x0 final, following 4 bits for link id) static constexpr uint32_t bx = 0xffff; @@ -48,14 +49,43 @@ struct masks{ //NOTA BENE: reserved two bits are used for muon id //0x1==intermediate, 0x2==final static constexpr uint32_t rsv = 0x0003; +};*/ + +//run3 format --tj +struct masks{ + //bx word: 16 bits used for actual bx, MS 4 bits are muon type + //(0xf intermediate, 0x0 final, following 4 bits for link id) + static constexpr uint32_t bx = 0x1fff; + static constexpr uint32_t interm = 0x0001; + //masks for muon 64 bits + static constexpr uint32_t phiext = 0x03ff; + static constexpr uint32_t pt = 0x01ff; + static constexpr uint32_t ptuncon = 0x00ff; //--8bits + static constexpr uint32_t qual = 0x000f; + static constexpr uint32_t etaext = 0x01ff; + static constexpr uint32_t etaextv = 0x00ff; + static constexpr uint32_t etaexts = 0x0100; + static constexpr uint32_t iso = 0x0003; + static constexpr uint32_t chrg = 0x0001; + static constexpr uint32_t chrgv = 0x0001; + static constexpr uint32_t index = 0x007f; + static constexpr uint32_t phi = 0x03ff; + static constexpr uint32_t eta = 0x01ff; + static constexpr uint32_t etav = 0x00ff; + static constexpr uint32_t etas = 0x0100; + static constexpr uint32_t impact = 0x0003; + + //NOTA BENE: reserved two bits are used for muon id + //0x1==intermediate, 0x2==final +// static constexpr uint32_t rsv = 0x0003;//-- no longer anything reserved }; struct shifts{ //bx word: 16 bits used for actual bx, MS 4 bits are muon type //(0xf intermediate, 0x0 final, following 4 bits for link id) static constexpr uint32_t bx = 0; - static constexpr uint32_t interm = 27; - static constexpr uint32_t linkid = 23; + static constexpr uint32_t interm = 31; //updated for new run3 format //tj + //static constexpr uint32_t linkid = 23; //no longer exists in data format //tj //shifts for muon 64 bits static constexpr uint32_t phiext = 0; static constexpr uint32_t pt = 10; @@ -66,8 +96,9 @@ struct shifts{ static constexpr uint32_t chrgv = 3; static constexpr uint32_t index = 4; static constexpr uint32_t phi = 11; - static constexpr uint32_t eta = 21; - static constexpr uint32_t rsv = 30; + //static constexpr uint32_t eta = 21; --hack for now --tj -- only store etaext + static constexpr uint32_t ptuncon = 21; + static constexpr uint32_t impact = 30; }; struct header_shifts{