Warning, /DataFormats/TrackReco/src/classes_def.xml is written in an unsupported language. File is not indexed.
0001 <lcgdict>
0002
0003 <class name="reco::TrackBase::AlgoMask"/>
0004 <class name="reco::HitPattern" ClassVersion="13">
0005 <version ClassVersion="13" checksum="2211596316"/>
0006 <version ClassVersion="12" checksum="3922863495"/>
0007 <version ClassVersion="11" checksum="1621684703"/>
0008 </class>
0009 <class name="reco::TrackResiduals" ClassVersion="11">
0010 <version ClassVersion="11" checksum="639174599"/>
0011 <version ClassVersion="10" checksum="2022291691"/>
0012 </class>
0013 <class name="reco::TrackBase" ClassVersion="20">
0014 <version ClassVersion="20" checksum="1589774059"/>
0015 <version ClassVersion="19" checksum="4090229239"/>
0016 <version ClassVersion="18" checksum="1935215297"/>
0017 <version ClassVersion="17" checksum="1774167599"/>
0018 <version ClassVersion="16" checksum="3673246687"/>
0019 <version ClassVersion="15" checksum="1802760569"/>
0020 <version ClassVersion="14" checksum="3929365050"/>
0021 <version ClassVersion="13" checksum="1244921154"/>
0022 <version ClassVersion="12" checksum="2704717983"/>
0023 <field name="vertex_" iotype="ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0024 <field name="momentum_" iotype="ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0025
0026 <version ClassVersion="10" checksum="3019978065"/>
0027 <field name="vertex_" iotype="ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0028 <field name="momentum_" iotype="ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0029 </class>
0030 <ioread
0031 sourceClass="reco::HitPattern"
0032 source="uint16_t hitPattern[50]; uint8_t hitCount; uint8_t beginTrackHits; uint8_t endTrackHits;uint8_t beginInner; uint8_t endInner; uint8_t beginOuter; uint8_t endOuter;"
0033 targetClass="reco::HitPattern"
0034 target=""
0035 version="[12]"
0036 >
0037 <![CDATA[
0038 (void) reco::HitPattern::fillNewHitPatternWithOldHitPattern_v12(onfile.hitPattern, *onfile.hitCount,
0039 *onfile.beginTrackHits, *onfile.endTrackHits,
0040 *onfile.beginInner, *onfile.endInner,
0041 *onfile.beginOuter, *onfile.endOuter,
0042 newObj);
0043 ]]>
0044 </ioread>
0045 <ioread
0046 sourceClass="reco::HitPattern"
0047 source="uint32_t hitPattern_[25]"
0048 targetClass="reco::HitPattern"
0049 target="hitPattern"
0050 version="[-11]"
0051 include="utility,DataFormats/MuonDetId/interface/DTLayerId.h,DataFormats/MuonDetId/interface/CSCDetId.h,DataFormats/MuonDetId/interface/RPCDetId.h"
0052 >
0053 <![CDATA[
0054 using namespace reco;
0055
0056 const unsigned short HitSize = 11;
0057 const unsigned short PatternSize = 25;
0058 const int MaxHits = (PatternSize * sizeof(uint32_t) * 8) / HitSize;
0059
0060 auto getHitFromOldHitPattern = [](const uint32_t hitPattern[], const int position) {
0061 uint16_t bitEndOffset = (position + 1) * HitSize;
0062 uint8_t secondWord = (bitEndOffset >> 5);
0063 uint8_t secondWordBits = bitEndOffset & (32 - 1); // that is, bitEndOffset % 32
0064 if (secondWordBits >= HitSize) {
0065 // full block is in this word
0066 uint8_t lowBitsToTrash = secondWordBits - HitSize;
0067 return (hitPattern[secondWord] >> lowBitsToTrash) & ((1 << HitSize) - 1);
0068 } else {
0069 uint8_t firstWordBits = HitSize - secondWordBits;
0070 uint32_t firstWordBlock = hitPattern[secondWord - 1] >> (32 - firstWordBits);
0071 uint32_t secondWordBlock = hitPattern[secondWord] & ((1 << secondWordBits) - 1);
0072 return firstWordBlock + (secondWordBlock << firstWordBits);
0073 }
0074 };
0075
0076 auto appendOldHitPattern = [&](const uint32_t pattern) {
0077 // value used for those parameters needed by XXXDetId constructors
0078 // but that we do not care about because they are not stored in the
0079 // HitPattern.
0080 const uint8_t DONT_CARE = 1;
0081
0082 const static unsigned short HitTypeMask = 0x3;
0083 const static unsigned short HitTypeOffset = 0;
0084
0085 const static unsigned short SideMask = 0x1;
0086 const static unsigned short SideOffset = 2;
0087
0088 const static unsigned short LayerMask = 0xF;
0089 const static unsigned short LayerOffset = 3;
0090
0091 const static unsigned short SubstrMask = 0x7;
0092 const static unsigned short SubstrOffset = 7;
0093
0094 const static unsigned short SubDetectorMask = 0x1;
0095 const static unsigned short SubDetectorOffset = 10;
0096
0097 const uint32_t VALID_CONST = (uint32_t) TrackingRecHit::valid;
0098 const uint32_t MISSING_CONST = (uint32_t) TrackingRecHit::missing;
0099 const uint32_t INACTIVE_CONST = (uint32_t) TrackingRecHit::inactive;
0100 const uint32_t BAD_CONST = (uint32_t) TrackingRecHit::bad;
0101
0102 uint32_t rawHitType = (pattern >> HitTypeOffset) & HitTypeMask;
0103 uint32_t layer = (pattern >> LayerOffset) & LayerMask;
0104 uint32_t subdet = (pattern >> SubstrOffset) & SubstrMask;
0105 uint32_t detector = (pattern >> SubDetectorOffset) & SubDetectorMask;
0106 uint32_t stereo = (pattern >> SideOffset) & SideMask;
0107
0108 // DetId::Tracker = 1 and DetId::Muon = 2 but
0109 // in HitPattern Tracker = 1 and Muon = 0 so a conversion is needed:
0110 if (detector == 0) {
0111 detector = DetId::Muon;
0112 }
0113
0114 TrackingRecHit::Type hitType = TrackingRecHit::valid;
0115 switch (rawHitType) {
0116 case VALID_CONST:
0117 hitType = TrackingRecHit::valid;
0118 break;
0119 case MISSING_CONST:
0120 hitType = TrackingRecHit::missing;
0121 break;
0122 case INACTIVE_CONST:
0123 hitType = TrackingRecHit::inactive;
0124 break;
0125 case BAD_CONST:
0126 hitType = TrackingRecHit::bad;
0127 break;
0128 }
0129
0130 DetId detId;
0131 if (detector == DetId::Tracker) {
0132 return newObj->appendTrackerHit(subdet, layer, stereo, hitType);
0133 } else if (detector == DetId::Muon) {
0134 switch (subdet) {
0135 case MuonSubdetId::DT: {
0136 uint32_t station = 1 + ((layer >> 2) & 0x3);
0137 uint32_t superLayer = (layer & 0x3);
0138 detId = DTLayerId(DONT_CARE, station, DONT_CARE, superLayer, DONT_CARE);
0139 }
0140 break;
0141 case MuonSubdetId::CSC: {
0142 uint32_t station = 1 + ((layer >> 2) & 0x3);
0143 uint32_t ring = 1 + (layer & 0x3);
0144 detId = CSCDetId(DONT_CARE, station, ring, DONT_CARE, DONT_CARE);
0145 }
0146 break;
0147 case MuonSubdetId::RPC: {
0148 uint32_t station = 1 + ((layer >> 2) & 0x3);
0149 uint32_t region = layer & 0x1;
0150 uint32_t layer_muon = 1 + ((station <= 2) ? ((layer >> 1) & 0x1) : 0);
0151 detId = RPCDetId(region, DONT_CARE, station, DONT_CARE, layer_muon, DONT_CARE, DONT_CARE);
0152 }
0153 break;
0154 }
0155 return newObj->appendMuonHit(detId, hitType);
0156 }
0157 return false;
0158 };
0159
0160 auto fillNewHitPatternWithOldHitPattern = [&](const uint32_t oldHitPattern[]) {
0161 newObj->clear();
0162 for (int i = 0; i < MaxHits; i++) {
0163 uint32_t pattern = getHitFromOldHitPattern(oldHitPattern, i);
0164 if (pattern == 0) {
0165 break;
0166 }
0167 if(!appendOldHitPattern(pattern)) {
0168 return false;
0169 }
0170 }
0171 return true;
0172 };
0173
0174 fillNewHitPatternWithOldHitPattern(onfile.hitPattern_);
0175 ]]>
0176 </ioread>
0177
0178 <!-- TrackBase to TrackBase conversion rule. Reads and merges the tree into one. -->
0179 <ioread
0180 sourceClass="reco::TrackBase"
0181 source="reco::HitPattern hitPattern_; reco::HitPattern trackerExpectedHitsInner_; reco::HitPattern trackerExpectedHitsOuter_"
0182 targetClass="reco::TrackBase"
0183 target="hitPattern_"
0184 version="[-12]"
0185 include="DataFormats/TrackReco/interface/HitPattern.h">
0186 <![CDATA[
0187 using namespace reco;
0188
0189 auto appendNewHitPattern = [&](const uint16_t pattern, const HitPattern::HitCategory category) {
0190 // value used for those parameters needed by XXXDetId constructors
0191 // but that we do not care about.
0192 const uint8_t DONT_CARE = 1;
0193
0194 const uint16_t VALID_CONST = (uint16_t) TrackingRecHit::valid;
0195 const uint16_t MISSING_CONST = (uint16_t) TrackingRecHit::missing;
0196 const uint16_t INACTIVE_CONST = (uint16_t) TrackingRecHit::inactive;
0197 const uint16_t BAD_CONST = (uint16_t) TrackingRecHit::bad;
0198
0199 // 3 bits for hit type
0200 const static unsigned short HitTypeMask = 0x3;
0201 const static unsigned short HitTypeOffset = 0;
0202
0203 // 1 bit for mono/stereo
0204 const static unsigned short SideMask = 0x1;
0205 const static unsigned short SideOffset = 2;
0206
0207 // 4 bits to identify the layer/disk/wheel within the substructure
0208 const static unsigned short LayerMask = 0xF;
0209 const static unsigned short LayerOffset = 3;
0210
0211 // 3 bits to identify the tracker/muon detector substructure
0212 const static unsigned short SubstrMask = 0x7;
0213 const static unsigned short SubstrOffset = 7;
0214
0215 // 1 bit to distinguish tracker and muon subsystems
0216 const static unsigned short SubDetectorMask = 0x1;
0217 const static unsigned short SubDetectorOffset = 10;
0218
0219 uint16_t rawHitType = (pattern >> HitTypeOffset) & HitTypeMask;
0220 uint16_t layer = (pattern >> LayerOffset) & LayerMask;
0221 uint16_t subdet = (pattern >> SubstrOffset) & SubstrMask;
0222 uint16_t detector = ((pattern >> SubDetectorOffset) & SubDetectorMask);
0223 uint16_t stereo = (pattern >> SideOffset) & SideMask;
0224
0225 // DetId::Tracker = 1 and DetId::Muon = 2 but
0226 // in HitPattern Tracker = 1 and Muon = 0 so a conversion is needed:
0227 if (detector == 0) {
0228 detector = DetId::Muon;
0229 }
0230
0231 TrackingRecHit::Type hitType = TrackingRecHit::valid;
0232 switch (rawHitType) {
0233 case VALID_CONST:
0234 hitType = TrackingRecHit::valid;
0235 break;
0236 case MISSING_CONST:
0237 hitType = TrackingRecHit::missing;
0238 break;
0239 case INACTIVE_CONST:
0240 hitType = TrackingRecHit::inactive;
0241 break;
0242 case BAD_CONST:
0243 hitType = TrackingRecHit::bad;
0244 break;
0245 }
0246
0247 if (category == HitPattern::MISSING_INNER_HITS) {
0248 hitType = TrackingRecHit::missing_inner;
0249 } else if (category == HitPattern::MISSING_OUTER_HITS) {
0250 hitType = TrackingRecHit::missing_outer;
0251 }
0252
0253 DetId detId;
0254 if (detector == DetId::Tracker) {
0255 return newObj->appendTrackerHitPattern(subdet, layer, stereo, hitType);
0256 } else if (detector == DetId::Muon) {
0257 switch (subdet) {
0258 case MuonSubdetId::DT: {
0259 uint16_t station = 1 + (layer >> 2);
0260 uint16_t superLayer = (layer & 0x3);
0261 detId = DTLayerId(DONT_CARE, station, DONT_CARE, superLayer, DONT_CARE);
0262 }
0263 break;
0264 case MuonSubdetId::CSC: {
0265 uint16_t station = 1 + (layer >> 2);
0266 uint16_t ring = 1 + (layer & 0x3);
0267 detId = CSCDetId(DONT_CARE, station, ring, DONT_CARE, DONT_CARE);
0268 }
0269 break;
0270 case MuonSubdetId::RPC: {
0271 uint16_t station = 1 + ((layer >> 2) & 0x3);
0272 uint16_t region = layer & 0x1;
0273 uint16_t layer_muon = 1 + ((station <= 2) ? ((layer >> 1) & 0x1) : 0);
0274 detId = RPCDetId(region, DONT_CARE, station, DONT_CARE, layer_muon, DONT_CARE, DONT_CARE);
0275 }
0276 break;
0277 }
0278 return newObj->appendMuonHitPattern(detId, hitType);
0279 }
0280 return false;
0281 };
0282
0283 auto fillNewHitPatternFromNewHitPattern = [&](const HitPattern hitPattern, const HitPattern::HitCategory category) {
0284 uint8_t hitCount = hitPattern.numberOfAllHits(HitPattern::TRACK_HITS);
0285 for (int i = 0; i < hitCount; i++) {
0286 uint16_t pattern = hitPattern.getHitPattern(HitPattern::TRACK_HITS, i);
0287 if(!appendNewHitPattern(pattern, category)) {
0288 return false;
0289 }
0290 }
0291 return true;
0292 };
0293
0294 auto mergeNewHitPatternsIntoOneNewHitPattern = [&](void) {
0295 newObj->resetHitPattern();
0296 fillNewHitPatternFromNewHitPattern(onfile.hitPattern_, HitPattern::TRACK_HITS);
0297 fillNewHitPatternFromNewHitPattern(onfile.trackerExpectedHitsInner_, HitPattern::MISSING_INNER_HITS);
0298 fillNewHitPatternFromNewHitPattern(onfile.trackerExpectedHitsOuter_, HitPattern::MISSING_OUTER_HITS);
0299 };
0300
0301 mergeNewHitPatternsIntoOneNewHitPattern();
0302 ]]>
0303 </ioread>
0304
0305 <class name="reco::TrackExtraBase" ClassVersion="12">
0306 <version ClassVersion="10" checksum="3548207838"/>
0307 <version ClassVersion="11" checksum="3450798337"/>
0308 <version ClassVersion="12" checksum="1846152141"/>
0309 </class>
0310 <ioread sourceClass = "reco::TrackExtraBase" version="[-10]" targetClass="reco::TrackExtraBase" source ="TrackingRecHitRefVector recHits_" target="m_hitCollection">
0311 <![CDATA[m_hitCollection=onfile.recHits_.refVector().refCore();]]>
0312 </ioread>
0313 <ioread sourceClass = "reco::TrackExtraBase" version="[-10]" targetClass="reco::TrackExtraBase" source ="TrackingRecHitRefVector recHits_" target="m_firstHit">
0314 <![CDATA[m_firstHit = onfile.recHits_.refVector().keys()[0];]]>
0315 </ioread>
0316 <ioread sourceClass = "reco::TrackExtraBase" version="[-10]" targetClass="reco::TrackExtraBase" source ="TrackingRecHitRefVector recHits_" target="m_nHits">
0317 <![CDATA[m_nHits=onfile.recHits_.size();]]>
0318 </ioread>
0319
0320
0321 <class name="reco::TrackExtra" ClassVersion="14">
0322 <version ClassVersion="14" checksum="388593738"/>
0323 <version ClassVersion="13" checksum="2526033150"/>
0324 <version ClassVersion="12" checksum="106004853"/>
0325 <version ClassVersion="11" checksum="2586227274"/>
0326 <version ClassVersion="10" checksum="1613098482"/>
0327 <field name="outerPosition_" iotype="ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0328 <field name="outerMomentum_" iotype="ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0329 <field name="innerPosition_" iotype="ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0330 <field name="innerMomentum_" iotype="ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<Double32_t>,ROOT::Math::DefaultCoordinateSystemTag>" />
0331 </class>
0332 <class name="std::vector<reco::TrackExtra>"/>
0333 <class name="edm::Wrapper<std::vector<reco::TrackExtra> >"/>
0334 <class name="edm::RefProd<std::vector<reco::TrackExtra> >"/>
0335 <class name="edm::refhelper::FindUsingAdvance<std::vector<reco::TrackExtra>,reco::TrackExtra>"/>
0336 <class name="edm::Ref<std::vector<reco::TrackExtra>,reco::TrackExtra,edm::refhelper::FindUsingAdvance<std::vector<reco::TrackExtra>,reco::TrackExtra> >"/>
0337 <class name="edm::RefVector<std::vector<reco::TrackExtra>,reco::TrackExtra,edm::refhelper::FindUsingAdvance<std::vector<reco::TrackExtra>,reco::TrackExtra> >"/>
0338
0339 <class name="reco::Track" ClassVersion="20">
0340 <version ClassVersion="20" checksum="2864582648"/>
0341 <version ClassVersion="19" checksum="362503460"/>
0342 <version ClassVersion="18" checksum="3235158110"/>
0343 <version ClassVersion="17" checksum="3387867292"/>
0344 <version ClassVersion="16" checksum="697987788"/>
0345 <version ClassVersion="15" checksum="3694119510"/>
0346 <version ClassVersion="14" checksum="4228121071"/>
0347 <version ClassVersion="13" checksum="36410295"/>
0348 <version ClassVersion="12" checksum="1190637787"/>
0349 <version ClassVersion="11" checksum="1190637787"/>
0350 <version ClassVersion="10" checksum="1190637787"/>
0351 </class>
0352 <class name="std::vector<reco::Track>"/>
0353 <class name="edm::Wrapper<std::vector<reco::Track> >"/>
0354 <class name="edm::RefProd<std::vector<reco::Track> >"/>
0355 <class name="edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track>"/>
0356 <class name="edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >"/>
0357 <class name="edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >"/>
0358 <class name="std::vector<edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >"/>
0359 <class name="edm::Wrapper<edm::RefVector<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >"/>
0360 <class name="std::vector<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >"/>
0361 <class name="edm::Ptr<reco::Track>" />
0362 <class name="std::vector<edm::Ptr<reco::Track> >" />
0363 <class name="edm::Association<reco::TrackCollection>"/>
0364 <class name="edm::Wrapper<edm::Association<reco::TrackCollection> >"/>
0365
0366 <!-- <class pattern="edm::Wrapper<edm::AssociationMap<*>" /> -->
0367 <class name="edm::Wrapper<edm::AssociationMap<edm::OneToMany<vector<reco::Track>,vector<TrajectorySeed>,unsigned int> > >" />
0368 <class name="edm::Wrapper<edm::AssociationMap<edm::OneToOne<vector<reco::Track>,vector<reco::Track>,unsigned int> > >" />
0369 <class name="edm::Wrapper<edm::AssociationMap<edm::OneToValue<vector<reco::Track>,bool,unsigned int> > >" />
0370 <class name="edm::Wrapper<edm::AssociationMap<edm::OneToValue<vector<reco::Track>,double,unsigned int> > >" />
0371 <class name="edm::Wrapper<edm::AssociationMap<edm::OneToValue<vector<reco::Track>,float,unsigned int> > >" />
0372 <class name="edm::Wrapper<edm::AssociationMap<edm::OneToValue<vector<reco::Track>,int,unsigned int> > >" />
0373
0374 <class name="edm::helpers::Key<edm::RefProd <std::vector <reco::Track> > >" />
0375
0376 <class name="edm::AssociationMap<edm::OneToValue<std::vector<reco::Track>,double,unsigned int> >">
0377 <field name="transientMap_" transient="true" />
0378 </class>
0379
0380 <class name="edm::AssociationMap<edm::OneToValue<std::vector<reco::Track>,bool,unsigned int> >">
0381 <field name="transientMap_" transient="true" />
0382 </class>
0383
0384 <class name="edm::AssociationMap<edm::OneToValue<std::vector<reco::Track>,int,unsigned int> >">
0385 <field name="transientMap_" transient="true" />
0386 </class>
0387
0388 <class name="edm::AssociationMap<edm::OneToValue<std::vector<reco::Track>,float,unsigned int> >">
0389 <field name="transientMap_" transient="true" />
0390 </class>
0391
0392 <class name="edm::helpers::KeyVal<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >" />
0393
0394 <class name="edm::helpers::KeyVal<edm::RefProd<std::vector<reco::Track> >,edm::RefProd<std::vector<reco::Track> > >" />
0395
0396 <class name="edm::AssociationMap<edm::OneToOne<std::vector<reco::Track>,std::vector<reco::Track>,unsigned int> >">
0397 <field name="transientMap_" transient="true" />
0398 </class>
0399
0400
0401 <class name="reco::DeDxHit" ClassVersion="13">
0402 <version ClassVersion="11" checksum="2617380234"/>
0403 <version ClassVersion="12" checksum="3747851168"/>
0404 <version ClassVersion="13" checksum="781849298"/>
0405 </class>
0406 <class name="reco::DeDxHitCollection" />
0407 <class name="std::vector<reco::DeDxHitCollection>" />
0408
0409 <!-- <class pattern="edm::AssociationVector<*>">
0410 <field name="transientVector_" transient="true"/>
0411 </class> -->
0412 <class name="edm::AssociationVector<edm::RefProd<std::vector<reco::Track> >,std::vector<bool>,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>" >
0413 <field name="transientVector_" transient="true"/>
0414 </class>
0415 <class name="edm::AssociationVector<edm::RefProd<std::vector<reco::Track> >,std::vector<double>,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>" >
0416 <field name="transientVector_" transient="true"/>
0417 </class>
0418 <class name="edm::AssociationVector<edm::RefProd<std::vector<reco::Track> >,std::vector<float>,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>" >
0419 <field name="transientVector_" transient="true"/>
0420 </class>
0421 <class name="edm::AssociationVector<edm::RefProd<std::vector<reco::Track> >,std::vector<int>,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>" >
0422 <field name="transientVector_" transient="true"/>
0423 </class>
0424 <class name="edm::AssociationVector<edm::RefProd<std::vector<reco::Track> >,std::vector<std::vector<reco::DeDxHit> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>" >
0425 <field name="transientVector_" transient="true"/>
0426 </class>
0427 <class name="std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,std::vector<reco::DeDxHit> >" />
0428 <!-- <class name="reco::DeDxDataCollection"/> -->
0429 <class name="reco::DeDxData" ClassVersion="10">
0430 <version ClassVersion="10" checksum="204721063"/>
0431 </class>
0432 <class name="reco::DeDxDataCollection"/>
0433 <class name="reco::DeDxDataValueMap"/>
0434
0435 <class name="edm::Wrapper<reco::TrackDeDxHitsCollection>"/>
0436 <class name="edm::Wrapper<reco::DeDxDataValueMap>"/>
0437 <class name="edm::Wrapper<reco::DeDxDataCollection>"/>
0438
0439
0440
0441 <!-- RefToBase<reco::Track> -->
0442 <class name="edm::RefToBase<reco::Track>" rntupleStreamerMode="true"/>
0443 <class name="edm::reftobase::IndirectHolder<reco::Track>"/>
0444 <class name="edm::reftobase::BaseHolder<reco::Track>"/>
0445 <class name="edm::reftobase::RefHolder<reco::TrackRef>"/>
0446 <class name="edm::reftobase::RefHolder<edm::Ptr<reco::Track> >"/>
0447 <class name="edm::reftobase::Holder<reco::Track, reco::TrackRef>"/>
0448
0449 <class name="std::vector<edm::RefToBase<reco::Track> >" />
0450
0451 <class name="std::pair<edm::RefToBase<reco::Track>,double>" />
0452 <class name="std::vector<std::pair<edm::RefToBase<reco::Track>,double> >" />
0453
0454 <class name="edm::reftobase::BaseVectorHolder<reco::Track>" />
0455 <class name="reco::TrackBaseRefVector"/>
0456 <class name="edm::Wrapper<reco::TrackBaseRefVector>"/>
0457
0458 <!-- RefToBaseProd<reco::Track> -->
0459 <class name="edm::RefToBaseProd<reco::Track>" />
0460
0461 <!-- ValueMap<reco::Track> -->
0462 <class name="edm::ValueMap<reco::TrackRefVector>" />
0463 <class name="edm::Wrapper<edm::ValueMap<reco::TrackRefVector> >" />
0464
0465
0466 <class name="edm::helpers::KeyVal<edm::RefProd<std::vector<reco::Track> >,edm::RefProd<std::vector<TrajectorySeed> > >"/>
0467 <class name="edm::AssociationMap<edm::OneToMany<std::vector<reco::Track>,std::vector<TrajectorySeed>,unsigned int> >">
0468 <field name="transientMap_" transient="true"/>
0469 </class>
0470
0471 <class name="std::vector<std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,float> >" />
0472 <class name="std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,float>" />
0473
0474
0475 <class name="std::vector<std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,int> >" />
0476 <class name="std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,int>" />
0477
0478
0479 <class name="std::pair<reco::Track,reco::Track>"/>
0480 <class name="edm::Wrapper<std::pair<reco::Track,reco::Track> >"/>
0481 <class name="std::pair<TrackCandidate,std::pair<reco::Track,reco::Track> >" />
0482 <class name="edm::Wrapper<std::pair<TrackCandidate,std::pair<reco::Track,reco::Track> > >" />
0483 <class name="std::vector<std::pair<TrackCandidate,std::pair<reco::Track,reco::Track> > >"/>
0484 <class name="edm::Wrapper<std::vector<std::pair<TrackCandidate,std::pair<reco::Track,reco::Track> > > >"/>
0485
0486 <class name="std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > >"/>
0487 <class name="edm::Wrapper<std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > > >"/>
0488 <class name="std::pair<TrackCandidate,std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > > >" />
0489 <class name="edm::Wrapper<std::pair<TrackCandidate,std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > > > >" />
0490 <class name="std::vector<std::pair<TrackCandidate,std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > > > >"/>
0491 <class name="edm::Wrapper<std::vector<std::pair<TrackCandidate,std::pair<edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> >,edm::Ref<std::vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<std::vector<reco::Track>,reco::Track> > > > > >"/>
0492
0493 <class name="edm::Association<std::vector<reco::TrackExtra>>"/>
0494 <class name="edm::Wrapper<edm::Association<std::vector<reco::TrackExtra>>>"/>
0495
0496 <class name="reco::DeDxHitInfo::DeDxHitInfoContainer" ClassVersion="3">
0497 <version ClassVersion="2" checksum="3964047764"/>
0498 <version ClassVersion="3" checksum="4148946944"/>
0499 </class>
0500 <class name="reco::DeDxHitInfo::DeDxHitInfoContainerCollection"/>
0501
0502
0503 <class name="reco::DeDxHitInfo" ClassVersion="3">
0504 <version ClassVersion="3" checksum="2577777556"/>
0505 <version ClassVersion="2" checksum="3000986250"/>
0506 </class>
0507 <class name="reco::DeDxHitInfoCollection"/>
0508 <class name="reco::DeDxHitInfoRef"/>
0509 <class name="reco::DeDxHitInfoRefProd"/>
0510 <class name="reco::DeDxHitInfoRefVector"/>
0511 <class name="reco::DeDxHitInfoAss"/>
0512 <class name="edm::Wrapper<reco::DeDxHitInfo>"/>
0513 <class name="edm::Wrapper<reco::DeDxHitInfoCollection>"/>
0514 <class name="edm::Wrapper<reco::DeDxHitInfoAss>"/>
0515
0516 <class name="SeedStopInfo" persistent="false"/>
0517 <class name="std::vector<SeedStopInfo>" persistent="false"/>
0518 <class name="edm::Wrapper<std::vector<SeedStopInfo> >" persistent="false"/>
0519
0520 </lcgdict>