CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/Provenance/src/BranchType.cc

Go to the documentation of this file.
00001 #include "DataFormats/Provenance/interface/BranchType.h"
00002 #include <iostream>
00003 
00004 namespace edm {
00005   std::ostream&
00006   operator<<(std::ostream& os, BranchType const& branchType) {
00007     os << BranchTypeToString(branchType);
00008     return os;
00009   }
00010   namespace {
00011 
00012     // Suffixes
00013     std::string const metaData = "MetaData";
00014     std::string const auxiliary = "Auxiliary";
00015     std::string const aux = "Aux"; // backward compatibility
00016     std::string const productStatus = "ProductStatus";
00017     std::string const branchEntryInfo = "BranchEntryInfo";
00018 
00019     // Prefixes
00020     std::string const run = "Run";
00021     std::string const lumi = "LuminosityBlock";
00022     std::string const event = "Event";
00023 
00024     // Trees, branches, indices
00025     std::string const runs = run + 's';
00026     std::string const lumis = lumi + 's';
00027     std::string const events = event + 's';
00028 
00029     std::string const runMeta = run + metaData;
00030     std::string const lumiMeta = lumi + metaData;
00031     std::string const eventMeta = event + metaData;
00032 
00033     std::string const runInfo = run + "StatusInformation"; // backward compatibility
00034     std::string const lumiInfo = lumi + "StatusInformation"; // backward compatibility
00035     std::string const eventInfo = event + "StatusInformation"; // backward compatibility
00036 
00037     std::string const runAuxiliary = run + auxiliary;
00038     std::string const lumiAuxiliary = lumi + auxiliary;
00039     std::string const eventAuxiliary = event + auxiliary;
00040 
00041     std::string const runProductStatus = run + productStatus; // backward compatibility
00042     std::string const lumiProductStatus = lumi + productStatus; // backward compatibility
00043     std::string const eventProductStatus = event + productStatus; // backward compatibility
00044 
00045     std::string const runEventEntryInfo = run + branchEntryInfo;
00046     std::string const lumiEventEntryInfo = lumi + branchEntryInfo;
00047     std::string const eventEventEntryInfo = event + branchEntryInfo;
00048 
00049     std::string const majorIndex = ".id_.run_";
00050     std::string const runMajorIndex = runAuxiliary + majorIndex;
00051     std::string const lumiMajorIndex = lumiAuxiliary + majorIndex;
00052     std::string const eventMajorIndex = eventAuxiliary + majorIndex;
00053 
00054     std::string const runMinorIndex; // empty
00055     std::string const lumiMinorIndex = lumiAuxiliary + ".id_.luminosityBlock_";
00056     std::string const eventMinorIndex = eventAuxiliary + ".id_.event_";
00057 
00058     std::string const runAux = run + aux;
00059     std::string const lumiAux = lumi + aux;
00060     std::string const eventAux = event + aux;
00061 
00062     std::string const entryDescriptionTree     = "EntryDescription";
00063     std::string const entryDescriptionIDBranch = "Hash";
00064     std::string const entryDescriptionBranch   = "Description";
00065 
00066     std::string const parentageTree     = "Parentage";
00067     std::string const parentageBranch   = "Description";
00068 
00069     std::string const metaDataTree = "MetaData";
00070     std::string const productRegistry = "ProductRegistry";
00071     std::string const productDependencies = "ProductDependencies";
00072     std::string const parameterSetMap = "ParameterSetMap";
00073     std::string const moduleDescriptionMap = "ModuleDescriptionMap"; // Obsolete
00074     std::string const processHistoryMap = "ProcessHistoryMap"; // Obsolete
00075     std::string const processHistory = "ProcessHistory";
00076     std::string const processConfiguration = "ProcessConfiguration";
00077     std::string const branchIDLists = "BranchIDLists";
00078     std::string const fileFormatVersion = "FileFormatVersion";
00079     std::string const fileIdentifier = "FileIdentifier";
00080     std::string const fileIndex = "FileIndex";
00081     std::string const indexIntoFile = "IndexIntoFile";
00082     std::string const eventHistory = "EventHistory";
00083     std::string const eventBranchMapper = "EventBranchMapper";
00084 
00085     std::string const eventSelections = "EventSelections";
00086     std::string const branchListIndexes = "BranchListIndexes";
00087 
00088     std::string const parameterSetsTree = "ParameterSets";
00089     std::string const idToParameterSetBlobsBranch = "IdToParameterSetsBlobs";
00090   }
00091 
00092   std::string const& BranchTypeToString(BranchType const& branchType) {
00093     return ((branchType == InEvent) ? event : ((branchType == InRun) ? run : lumi));
00094   }
00095 
00096   std::string const& BranchTypeToProductTreeName(BranchType const& branchType) {
00097     return ((branchType == InEvent) ? events : ((branchType == InRun) ? runs : lumis));
00098   }
00099 
00100   std::string const& BranchTypeToMetaDataTreeName(BranchType const& branchType) {
00101     return ((branchType == InEvent) ? eventMeta : ((branchType == InRun) ? runMeta : lumiMeta));
00102   }
00103 
00104   std::string const& BranchTypeToInfoTreeName(BranchType const& branchType) { // backward compatibility
00105     return ((branchType == InEvent) ? eventInfo : ((branchType == InRun) ? runInfo : lumiInfo)); // backward compatibility
00106   } // backward compatibility
00107 
00108   std::string const& BranchTypeToAuxiliaryBranchName(BranchType const& branchType) {
00109     return ((branchType == InEvent) ? eventAuxiliary : ((branchType == InRun) ? runAuxiliary : lumiAuxiliary));
00110   }
00111 
00112   std::string const& BranchTypeToAuxBranchName(BranchType const& branchType) { // backward compatibility
00113     return ((branchType == InEvent) ? eventAux : ((branchType == InRun) ? runAux : lumiAux)); // backward compatibility
00114   } // backward compatibility
00115 
00116   std::string const& BranchTypeToProductStatusBranchName(BranchType const& branchType) { // backward compatibility
00117     return ((branchType == InEvent) ? eventProductStatus : ((branchType == InRun) ? runProductStatus : lumiProductStatus)); // backward compatibility
00118   } // backward compatibility
00119 
00120   std::string const& BranchTypeToBranchEntryInfoBranchName(BranchType const& branchType) {
00121     return ((branchType == InEvent) ? eventEventEntryInfo : ((branchType == InRun) ? runEventEntryInfo : lumiEventEntryInfo));
00122   }
00123 
00124   std::string const& BranchTypeToMajorIndexName(BranchType const& branchType) {
00125     return ((branchType == InEvent) ? eventMajorIndex : ((branchType == InRun) ? runMajorIndex : lumiMajorIndex));
00126   }
00127 
00128   std::string const& BranchTypeToMinorIndexName(BranchType const& branchType) {
00129     return ((branchType == InEvent) ? eventMinorIndex : ((branchType == InRun) ? runMinorIndex : lumiMinorIndex));
00130   }
00131 
00132   namespace poolNames {
00133 
00134     // EntryDescription tree (1 entry per recorded distinct value of EntryDescription)
00135     std::string const& entryDescriptionTreeName() {
00136       return entryDescriptionTree;
00137     }
00138 
00139     std::string const& entryDescriptionIDBranchName() {
00140       return entryDescriptionIDBranch;
00141     }
00142 
00143     std::string const& entryDescriptionBranchName() {
00144       return entryDescriptionBranch;
00145     }
00146 
00147     // EntryDescription tree (1 entry per recorded distinct value of EntryDescription)
00148     std::string const& parentageTreeName() {
00149       return parentageTree;
00150     }
00151 
00152     std::string const& parentageBranchName() {
00153       return parentageBranch;
00154     }
00155 
00156     // MetaData Tree (1 entry per file)
00157     std::string const& metaDataTreeName() {
00158       return metaDataTree;
00159     }
00160 
00161     // Branch on MetaData Tree
00162     std::string const& productDescriptionBranchName() {
00163       return productRegistry;
00164     }
00165 
00166     // Branch on MetaData Tree
00167     std::string const& productDependenciesBranchName() {
00168       return productDependencies;
00169     }
00170 
00171     // Branch on MetaData Tree
00172     std::string const& parameterSetMapBranchName() {
00173       return parameterSetMap;
00174     }
00175 
00176     // Branch on MetaData Tree // Obsolete
00177     std::string const& moduleDescriptionMapBranchName() {
00178       return moduleDescriptionMap;
00179     }
00180 
00181     // Branch on MetaData Tree // Obsolete
00182     std::string const& processHistoryMapBranchName() {
00183       return processHistoryMap;
00184     }
00185 
00186     // Branch on MetaData Tree
00187     std::string const& processHistoryBranchName() {
00188       return processHistory;
00189     }
00190 
00191     // Branch on MetaData Tree
00192     std::string const& processConfigurationBranchName() {
00193       return processConfiguration;
00194     }
00195 
00196     // Branch on MetaData Tree
00197     std::string const& branchIDListBranchName() {
00198       return branchIDLists;
00199     }
00200 
00201     // Branch on MetaData Tree
00202     std::string const& fileFormatVersionBranchName() {
00203       return fileFormatVersion;
00204     }
00205 
00206     // Branch on MetaData Tree
00207     std::string const& fileIdentifierBranchName() {
00208       return fileIdentifier;
00209     }
00210 
00211     // Branch on MetaData Tree
00212     std::string const& fileIndexBranchName() {
00213       return fileIndex;
00214     }
00215 
00216     // Branch on MetaData Tree
00217     std::string const& indexIntoFileBranchName() {
00218       return indexIntoFile;
00219     }
00220 
00221     // Branch on Event History Tree
00222     std::string const& eventHistoryBranchName() {
00223       return eventHistory;
00224     }
00225 
00226     // Branches on Events Tree
00227     std::string const& eventSelectionsBranchName() {
00228       return eventSelections;
00229     }
00230 
00231     std::string const& branchListIndexesBranchName() {
00232       return branchListIndexes;
00233     }
00234 
00235     std::string const& parameterSetsTreeName() {
00236       return parameterSetsTree;
00237     }
00238     // Branch on ParameterSets Tree
00239     std::string const& idToParameterSetBlobsBranchName() {
00240       return idToParameterSetBlobsBranch;
00241     }
00242     
00243     
00244     std::string const& eventTreeName() {
00245       return events;
00246     }
00247 
00248     std::string const& eventMetaDataTreeName() {
00249       return eventMeta;
00250     }
00251 
00252     std::string const& eventHistoryTreeName() {
00253       return eventHistory;
00254     }
00255     std::string const& luminosityBlockTreeName() {
00256       return lumis;
00257     }
00258     std::string const& runTreeName() {
00259       return runs;
00260     }
00261   }
00262 }